Po Lu [Sat, 5 Feb 2022 03:17:58 +0000 (03:17 +0000)]
Implement face cursor color merging on Haiku
* src/ftcrfont.c (ftcrfont_draw):
* src/haikufont.c (haikufont_draw): Use
`haiku_merge_cursor_foreground' to calculate cursor HL colors.
* src/haikuterm.c (haiku_merge_cursor_foreground): New function.
* src/haikuterm.h: Update prototypes.
Po Lu [Sat, 5 Feb 2022 02:51:39 +0000 (10:51 +0800)]
Set WM_TRANSIENT_FOR on tooltip frames
Otherwise the decorations get all messed up on GNOME and some
other composited desktops.
* src/xfns.c (Fx_show_tip): Set WM_TRANSIENT_FOR to the window
underneath the tooltip.
Po Lu [Sat, 5 Feb 2022 01:41:01 +0000 (09:41 +0800)]
Implement _NET_WM_PING protocol
* src/xfns.c (append_wm_protocols): New function.
(x_window): Call `append_wm_protocols' after window creation.
* src/xterm.c (handle_one_xevent): Handle _NET_WM_PING client
messages.
(x_term_init): Intern _NET_WM_PING atom.
* src/xterm.h (struct x_display_info): New field
`Xatom_net_wm_ping'.
Vladimir Panteleev [Fri, 4 Feb 2022 02:46:50 +0000 (02:46 +0000)]
Update the MULTIPLE property with conversion outcomes
Per the ICCCM spec:
> If the owner fails to convert the target named by an atom in the
> MULTIPLE property, it should replace that atom in the property with
> None.
* src/xselect.c (x_handle_selection_request): Do it.
Vladimir Panteleev [Fri, 4 Feb 2022 01:54:45 +0000 (01:54 +0000)]
Do not delete the MULTIPLE property after reading it
Per the ICCCM spec:
> The requestor should delete [...] the property specified in the
> MULTIPLE request when it has copied all the data.
We are not the requestor, so we should not be deleting this property
(which is what x_get_window_property_as_lisp_data does). The property
needs to remain available as the requestor will generally want to read
it back to see which conversions succeeded or not.
* src/xselect.c (x_get_window_property_as_lisp_data): Add flag which
skips deleting the read property, or handling INCR (which does not
make sense for MULTIPLE).
(x_handle_selection_request): Enable the flag.
Stefan Monnier [Sat, 5 Feb 2022 00:39:53 +0000 (19:39 -0500)]
(with-demoted-errors): Warn on missing `format` arg
The `format` arg has been mandatory for a while, but the backward
compatibility code that handled the case of a missing `format` arg
made it hard to notice when using the old calling convention.
* lisp/subr.el (with-demoted-errors): Warn on missing `format` arg.
* lisp/emacs-lisp/smie.el (smie-indent--separator-outdent): Don't abuse
`with-demoted-errors`.
(smie-indent-line, smie-auto-fill):
* test/lisp/emacs-lisp/ert-tests.el (ert-test-with-demoted-errors):
* lisp/vc/vc-hooks.el (vc-refresh-state):
* lisp/vc/vc-annotate.el (vc-annotate-background-mode):
* lisp/vc/diff-mode.el (diff-syntax-fontify-hunk):
* lisp/textmodes/reftex-toc.el (reftex-re-enlarge):
* lisp/progmodes/sh-script.el (sh-smie-sh-rules):
* lisp/progmodes/octave.el (inferior-octave-startup):
* lisp/pcmpl-gnu.el (pcmpl-gnu-make-all-targets):
* lisp/org/org-refile.el (org-refile):
* lisp/org/org-capture.el (org-capture-store-last-position):
* lisp/nxml/nxml-mode.el (nxml-mode):
* lisp/notifications.el (notifications-notify):
* lisp/gnus/mm-view.el (mm-display-inline-fontify):
* lisp/finder.el (finder-unload-function):
* lisp/files.el (safe-local-variable-p, backup-buffer-copy
* lisp/autorevert.el (auto-revert-notify-handler):
Pass `format` arg to `with-demoted-errors`.
Stefan Monnier [Fri, 4 Feb 2022 18:39:19 +0000 (13:39 -0500)]
python.el: Silence left over warning in last commit
* lisp/progmodes/python.el
(python-shell-calculate-process-environment): Declare
tramp-remote-process-environment before using it.
Stefan Monnier [Fri, 4 Feb 2022 18:35:21 +0000 (13:35 -0500)]
python.el: Try and better split the Tramp code
Massage the Python-Tramp code so that the Tramp part and the Python
part are a bit less intertwined. It's still not quite right, but it's
a bit closer to the point where the Tramp part can be moved to `tramp.el`.
* lisp/progmodes/python.el: Don't require `tramp-sh`.
Do require `subr-x` OTOH. Remove redundant `:group`s.
(python-shell--calculate-process-environment): New function, that only
return the entries to be added.
(python-shell-calculate-process-environment): Rewrite and declare obsolete.
(python-shell-tramp-refresh-remote-path)
(python-shell-tramp-refresh-process-environment): Silence
compiler warnings.
(python-shell-with-environment): Move the bulk of its code to
a new function `python-shell--with-environment` for easier debugging
and to avoid code duplication.
(python-shell--with-environment): New function. Split the Tramp case
into its own function.
(python-shell--tramp-with-environment): New function.
(python-eldoc-function-timeout-permanent): Fix doc's first line.
* test/lisp/progmodes/python-tests.el: Adjust accordingly.
(python-shell-calculate-process-environment-1)
(python-shell-calculate-process-environment-2)
(python-shell-calculate-process-environment-3)
(python-shell-calculate-process-environment-4)
(python-shell-calculate-process-environment-5)
(python-shell-calculate-process-environment-6)
(python-shell-calculate-process-environment-7)
(python-shell-calculate-process-environment-8):
Use `python-shell--calculate-process-environment`.
(python--tests-process-env-canonical, python--tests-process-env-eql):
New functions.
(python-shell-with-environment-2, python-shell-with-environment-3):
Use them.
Michael Albinus [Fri, 4 Feb 2022 18:24:43 +0000 (19:24 +0100)]
Improve Tramp tests backward compatibility
* test/lisp/net/tramp-tests.el (tramp-test39-detect-external-change):
Improve backward compatibility.
Andrea Corallo [Fri, 4 Feb 2022 14:45:42 +0000 (15:45 +0100)]
* Have `null' and `not' explicit in LIMPLE so we inline them
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Generate explicit
`eq' call in LIMPLE for LAP opcode 'not'.
Eli Zaretskii [Fri, 4 Feb 2022 13:50:50 +0000 (15:50 +0200)]
Fix infloop in redisplay_window due to fix of bug#14582
* src/xdisp.c (window_start_acceptable_p): New function.
(redisplay_window): Call 'window_start_acceptable_p' to determine
whether a given window-start point is acceptable, including when
the window's force_start flag is set -- this fixes infloop in
redisplay_window in that case.
Po Lu [Fri, 4 Feb 2022 13:22:03 +0000 (21:22 +0800)]
Remove misleading "in current buffer" message from auto-raise-mode
* lisp/frame.el (auto-raise-mode): Declare as global to prevent
a misleading message from being displayed. It's actually
frame-local, but declaring it global doesn't hurt since
`frame-parameter' is a gv.
Stefan Kangas [Fri, 4 Feb 2022 13:15:33 +0000 (14:15 +0100)]
Silence byte-compiler in two tests
* test/lisp/electric-tests.el (electric-pair-define-test-form):
* test/src/buffer-tests.el (buffer-tests--make-test-name): Silence
byte-compiler by defining defuns also at run time.
Po Lu [Fri, 4 Feb 2022 12:12:56 +0000 (12:12 +0000)]
; * src/haikuterm.c (haiku_end_cr_clip): Fix trivial typo.
Po Lu [Fri, 4 Feb 2022 12:10:30 +0000 (12:10 +0000)]
Implement auto-raise on Haiku
* src/haikuterm.c (haiku_read_socket): Implement auto-raising
of frames that have that parameter set.
Michael Albinus [Fri, 4 Feb 2022 10:59:56 +0000 (11:59 +0100)]
* lisp/net/tramp-gvfs.el (tramp-gvfs-send-command): Fix problem with locale.
Po Lu [Fri, 4 Feb 2022 07:39:45 +0000 (15:39 +0800)]
; * src/xterm.c (x_alloc_nearest_color_1): Remove extraneous code.
Po Lu [Fri, 4 Feb 2022 07:38:07 +0000 (15:38 +0800)]
Fix bit rot in the color allocation code
* src/xterm.c (x_alloc_nearest_color_1): Reintroduce an older
version of the code that would try to allocate a "compromise
delta".
Po Lu [Fri, 4 Feb 2022 07:17:40 +0000 (15:17 +0800)]
* src/xwidget.c (xwidget_button): Always let button events through.
Filtering out emulated events is done in handle_one_xevent, so
all this accomplishes is to filter out legitimate button events.
Stefan Kangas [Fri, 4 Feb 2022 05:30:30 +0000 (06:30 +0100)]
Merge from origin/emacs-28
0591aa6cd3 Revert an erroneous change in tramp-cache.el
Po Lu [Fri, 4 Feb 2022 05:13:06 +0000 (13:13 +0800)]
Fix toggling `x-gtk-use-native-input'.
* lisp/term/x-win.el (x-internal-focus-input-context):
(x-gtk-use-native-input-watcher): Update for changes to
`x-internal-focus-input-context'.
* src/xfns.c (Fx_internal_focus_input_context): New parameter
`focus'.
Po Lu [Fri, 4 Feb 2022 03:28:05 +0000 (03:28 +0000)]
Make Emacs build with some other XLib implementations
* configure.ac (HAVE_XKB): Check for functions that aren't
always implemented by various XLib implementations.
* src/xfns.c (select_visual): Handle NULL values of vinfo.
(XkbRefreshKeyboardMapping):
(XkbFreeNames):
(XDisplayCells):
(XDestroySubwindows): Define replacement functions where they
aren't available.
* src/xterm.c (x_find_modifier_meanings): Handle NULL values of
various fields.
Po Lu [Fri, 4 Feb 2022 02:16:14 +0000 (10:16 +0800)]
* src/xfns.c (Fx_internal_focus_input_context): Fix typo.
Po Lu [Fri, 4 Feb 2022 02:11:31 +0000 (10:11 +0800)]
Make `x-gtk-use-native-input' take effect immediately
* lisp/term/x-win.el (x-internal-focus-input-context): New
declaration.
(x-gtk-use-native-input-watcher): New variable watcher.
* src/xfns.c (Fx_internal_focus_input_context): New function.
(syms_of_xfns): Define new subr.
Po Lu [Fri, 4 Feb 2022 01:04:06 +0000 (09:04 +0800)]
Try to fix input method flicker on GTK builds
* src/xterm.c (x_focus_changed): Only focus GTK context if
native input is on. (bug#53698)
Andrew G Cohen [Fri, 4 Feb 2022 00:30:32 +0000 (08:30 +0800)]
Improve compression of article lists in gnus/nnselect
* lisp/gnus/nnselect.el (nnselect-compress-artlist): Allow compressed list.
nnselect-uncompress-artlist): Properly loop over rsv values.
Po Lu [Fri, 4 Feb 2022 00:51:24 +0000 (08:51 +0800)]
Improve image depth handling
Emacs defaults to a 32-bit TrueColor visual, but if that happens
on a display which defaults to 16-bit TrueColor, yet happens to
have 32-bit color, and doesn't have the X Render Extension, an
error will occur in x_composite_image as libXpm will load
pixmaps of depth 16 instead of depth 32.
* src/image.c (x_create_x_image_and_pixmap): Explictly specify
display depth.
(x_create_xrender_picture):
(xpm_load):
(gs_load): Use dpyinfo->n_planes instead of
DefaultDepthOfScreen.
Lars Ingebrigtsen [Thu, 3 Feb 2022 21:16:14 +0000 (22:16 +0100)]
Improve the bookmark-default-handler doc string
* lisp/bookmark.el (bookmark-default-handler): Document the
`buffer' property (bug#20845).
Lars Ingebrigtsen [Thu, 3 Feb 2022 19:54:17 +0000 (20:54 +0100)]
Remove tarball instructions from gnus-faq.texi
Lars Ingebrigtsen [Thu, 3 Feb 2022 19:33:58 +0000 (20:33 +0100)]
Make sort-numeric-fields resilient towards blank lines
* lisp/sort.el (sort-numeric-fields): Don't signal an error on
blank lines (bug#31800).
Jim Porter [Thu, 3 Feb 2022 02:26:50 +0000 (18:26 -0800)]
Use 'require' to load eshell-tests-helpers
* test/lisp/eshell/eshell-tests.el
* test/lisp/eshell/em-extpipe-tests.el: Load eshell-tests-helpers with
'require'.
* test/lisp/eshell/eshell-tests-helpers.el (eshell-history-file-name):
Define this here so individual test files don't have to.
Jim Porter [Mon, 31 Jan 2022 02:53:53 +0000 (18:53 -0800)]
When executing an Eshell pipeline, send input to the first process
Previously, input was sent to the last process in the pipeline,
resulting in unexpected behavior when running commands like
'tr a-z A-Z | rev'.
* lisp/eshell/esh-util.el (eshell-process-pair-p)
(eshell-make-process-pair): New functions.
* lisp/eshell/esh-cmd.el (eshell-last-async-proc): Rename to...
(eshell-last-async-procs): ... this, and store a pair of processes.
(eshell-interactive-process): Replace with...
(eshell-interactive-process-p, eshell-head-process)
(eshell-tail-process): ... these.
(eshell-cmd-initialize): Set 'eshell-last-async-procs'.
(eshell-do-pipelines): Set 'headproc'.
(eshell-execute-pipeline): Return 'headproc' and 'tailproc'.
(eshell-resume-eval): Use 'eshell-last-async-procs'.
(eshell-do-eval): Make sure we work with a pair of processes.
* lisp/eshell/esh-proc.el (eshell-send-eof-to-process): Move from
here...
* lisp/eshell/esh-mode.el (eshell-send-eof-to-process): ... to here,
and only send EOF to the head process.
* lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments)
* lisp/eshell/esh-mode.el (eshell-intercept-commands)
(eshell-watch-for-password-prompt):
Use 'eshell-interactive-process-p'.
* lisp/eshell/em-rebind.el (eshell-delchar-or-maybe-eof)
* lisp/eshell/em-term.el (eshell-term-send-raw-string)
* lisp/eshell/esh-mode.el (eshell-self-insert-command)
(eshell-send-input, eshell-send-invisible):
Use 'eshell-head-process'.
* lisp/eshell/esh-cmd.el (eshell-as-subcommand):
Use 'eshell-tail-process'.
* lisp/eshell/eshell.el (eshell-command):
* test/lisp/eshell/eshell-tests-helpers.el
(eshell-wait-for-subprocess):
Use 'eshell-interactive-process-p' and 'eshell-tail-process'.
* test/lisp/eshell/eshell-tests.el (eshell-test/pipe-headproc-stdin):
New test.
Jim Porter [Fri, 28 Jan 2022 07:13:36 +0000 (23:13 -0800)]
Ensure that tailproc is set for the last process in an Eshell pipeline
In particular, this used to fail for pipelines where the last process
in the pipeline came from the first element of the pipeline. This
could happen when a process was piped to an ordinary Lisp function,
like in '*echo hi | echo bye'.
* lisp/eshell/esh-cmd.el (eshell-do-pipelines): Set the tailproc even
for the first process in the pipeline.
* test/lisp/eshell/eshell-tests.el (eshell-test/pipe-tailproc): New
test.
Eli Zaretskii [Thu, 3 Feb 2022 17:36:43 +0000 (19:36 +0200)]
Allow ensuring that a window's starting point is never invisible
* src/xdisp.c (syms_of_xdisp) <make-window-start-visible>: New
buffer-local variable.
(redisplay_window): If 'make-window-start-visible' is non-nil,
don't accept window-start position that is in invisible text or is
covered by a "replacing" 'display' property. (Bug#14582)
Michael Albinus [Thu, 3 Feb 2022 14:30:39 +0000 (15:30 +0100)]
Revert an erroneous change in tramp-cache.el
* lisp/net/tramp-cache.el (tramp-get-hash-table):
Use `string-match-p' instead of `string-search'. The latter one
was introduced by accident. Reported by Kai Tetzlaff <kai@tetzlaff.eu>.
Thomas Fitzsimmons [Thu, 3 Feb 2022 14:19:03 +0000 (09:19 -0500)]
soap-client: Add minimum supported Emacs version
* lisp/net/soap-client.el: Add Emacs 24.1 to Package-Requires.
Bump version to 3.2.1.
Michael Albinus [Thu, 3 Feb 2022 13:21:23 +0000 (14:21 +0100)]
Implement file modification check in Tramp
* lisp/net/tramp.el (tramp-handle-lock-file): Check, whether FILE
is modified.
* test/lisp/net/tramp-tests.el (tramp-test39-detect-external-change):
New test.
Mattias Engdegård [Thu, 3 Feb 2022 11:25:53 +0000 (12:25 +0100)]
Don't use `string-replace` in soap-client (bug#53744)
* lisp/net/soap-client.el (soap-decode-xs-complex-type):
Cease using `string-replace` since it requires Emacs 28.
Mattias Engdegård [Thu, 3 Feb 2022 11:15:06 +0000 (12:15 +0100)]
Don't use `string-search` in soap-client (bug#53744)
* lisp/net/soap-client.el (soap-decode-xs-complex-type):
Since soap-client is a core ELPA package and may be used with
Emacs versions older than 28, it cannot use `string-search`;
revert to `string-match`.
Eli Zaretskii [Thu, 3 Feb 2022 11:00:47 +0000 (13:00 +0200)]
Fix "Buffers->Frames" submenu in daemon sessions
* lisp/menu-bar.el (menu-bar-update-buffers): Detect the initial
frame by its special terminal's name. (Bug#53740)
* src/terminal.c (init_initial_terminal): Add comment about using
the initial-terminal's name in menu-bar.el.
Po Lu [Thu, 3 Feb 2022 10:34:50 +0000 (10:34 +0000)]
* src/haikufont.c (haikufont_draw): Allocate string buffer on stack.
Po Lu [Thu, 3 Feb 2022 07:50:36 +0000 (07:50 +0000)]
Stop creating cairo contexts in haiku_begin_cr_clip
* src/haikufont.c (haikufont_draw):
* src/ftcrfont.c (ftcrfont_draw): Stop holding the draw lock.
* src/haiku_support.cc (class EmacsView): New field
`cairo_context'.
(DetachCairoSurface): Destroy cairo_context.
(AttachCairoSurface): Create cairo_context from the surface.
(EmacsView_cairo_surface): Delete function.
(EmacsView_cairo_context): New function.
* src/haiku_support.h: Update prototypes.
* src/haikuterm.c (haiku_begin_cr_clip):
(haiku_end_cr_clip): Retrieve the existing cairo context instead
of creating a new one.
* src/haikuterm.h (FRAME_CR_CONTEXT): New macro.
Po Lu [Thu, 3 Feb 2022 07:14:59 +0000 (07:14 +0000)]
Obtain draw lock outside haiku_start_clip
* src/haikuterm.c (haiku_start_clip):
(haiku_end_clip): Stop obtaining the draw lock.
(haiku_draw_glyph_string): Set draw lock here instead.
Stefan Kangas [Thu, 3 Feb 2022 05:30:29 +0000 (06:30 +0100)]
Merge from origin/emacs-28
ab2f275422 Improve documentation of 'emacs-version'
Po Lu [Thu, 3 Feb 2022 05:21:33 +0000 (05:21 +0000)]
* src/haikuterm.c (haiku_draw_text_decoration): Don't lock for draws.
Po Lu [Thu, 3 Feb 2022 05:16:35 +0000 (05:16 +0000)]
Simplify box display code on Haiku
* src/haikuterm.c (haiku_calculate_relief_colors): Remove
`rgbout_c' parameter.
(haiku_draw_relief_rect): Push state if performing additional
clipping.
(haiku_draw_string_box): Stop passing clip rects to the relief
drawing functions.
(haiku_draw_glyph_string): Fix calls to haiku_draw_string_box
for new parameters.
Po Lu [Thu, 3 Feb 2022 01:57:00 +0000 (01:57 +0000)]
Fix display of text decorations with defaulted foreground on Haiku
* src/haikuterm.c (haiku_draw_text_decoration): Remove parameter
`dcol' and use face->foreground instead. All callers changed.
Po Lu [Thu, 3 Feb 2022 01:47:29 +0000 (01:47 +0000)]
Fix background daemon on Haiku
* src/emacs.c (DAEMON_MUST_EXEC): Define when using the Haiku
application kit.
Po Lu [Thu, 3 Feb 2022 01:28:43 +0000 (09:28 +0800)]
Prevent the initial frame from showing up in the frame menu
* lisp/menu-bar.el (menu-bar-update-buffers): Ignore initial
frame when generating frame list. (bug#53740)
Stefan Kangas [Wed, 2 Feb 2022 19:56:56 +0000 (20:56 +0100)]
New theme leuven-dark (Bug#53032)
* etc/themes/leuven-dark-theme.el: New file, written by
Fabrice Niessen and Thibault Polge.
Stefan Kangas [Wed, 2 Feb 2022 00:41:13 +0000 (01:41 +0100)]
* test/lisp/cedet/semantic/bovine/gcc-tests.el (ert-x): Require.
Lars Ingebrigtsen [Thu, 3 Feb 2022 00:25:42 +0000 (01:25 +0100)]
Adjust test to adjusted code
Harald Jörg [Wed, 2 Feb 2022 21:30:09 +0000 (22:30 +0100)]
; cperl-mode.el: Detect prototypes in anonymous subroutines
My commit
3d49ad73e5a from 2021-09-143 had a flaw causing bad
fontification and indentation after anonymous subroutines with
a prototype.
* lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Correctly
process prototypes in anonymous subroutines
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-attrs-and-signatures): new tests for various
combinations of attributes, prototypes, and signatures
* test/lisp/progmodes/cperl-mode-resources/proto-and-attrs.pl: new
test source
Alan Mackenzie [Wed, 2 Feb 2022 20:35:39 +0000 (20:35 +0000)]
New file lisp/emacs-lisp/debug-early.el for backtraces in early bootstrap
This is also used in batch mode in general.
* lisp/debug-early.el (debug-early-backtrace, debug-early): New functions.
* lisp/loadup.el (top level): Load debug-early.el as first file.
* src/eval.c (signal_or_quit): Remove the condition in the batch mode section
of not being in dumping or bootstrap, since it is no longer needed. Test that
'debug-early's symbol-function is bound. Ensure there is enough working space
in specpdl and eval_depth.
(syms_of_eval): New DEFSYM for Qdebug_early. Initialise Vdebugger to
Qdebug_early rather than Qnil.
Juri Linkov [Wed, 2 Feb 2022 19:50:41 +0000 (21:50 +0200)]
* lisp/replace.el (query-replace-read-from): Use default for empty input.
Set 'default' from non-empty 'query-replace-read-from-default'.
Use the default in non-regexp prompt and return it for empty input.
https://lists.gnu.org/archive/html/emacs-devel/2022-02/msg00044.html
Lars Ingebrigtsen [Wed, 2 Feb 2022 19:16:04 +0000 (20:16 +0100)]
Improve the describe-key doc string
* lisp/help.el (describe-key): Say something about prefix keys
(bug#33320).
Lars Ingebrigtsen [Wed, 2 Feb 2022 18:55:19 +0000 (19:55 +0100)]
Add some indexing for "compiler macro"
* doc/lispref/functions.texi (Inline Functions): Add a link to
where compiler macros are defined.
(Declare Form): Add a concept index.
Lars Ingebrigtsen [Wed, 2 Feb 2022 18:40:48 +0000 (19:40 +0100)]
Mark vt-control and vc100-led obsolete since Emacs 29.1
Lars Ingebrigtsen [Wed, 2 Feb 2022 18:39:29 +0000 (19:39 +0100)]
Move vt-control and vt100-led to obsolete (bug#37562)
Lars Ingebrigtsen [Wed, 2 Feb 2022 18:07:01 +0000 (19:07 +0100)]
Fix decoding error in ietf-drums-parse-address
* lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't try to
decode the name if there is no name (bug#53716).
Alan Mackenzie [Wed, 2 Feb 2022 18:03:00 +0000 (18:03 +0000)]
Fix bug with M-x compile-defun in a defconst/defvar
* lisp/emacs-lisp/bytecomp.el (compile-defun): Have symbols-with-pos-enabled
bound to non-nil when the eval takes place.
Eli Zaretskii [Wed, 2 Feb 2022 17:38:56 +0000 (19:38 +0200)]
Improve documentation of 'emacs-version'
* doc/emacs/trouble.texi (Checklist): Mention the possibility of
invoking 'emacs-version' with a prefix argument.
* lisp/version.el (emacs-version): Improve doc string. (Bug#53720)
Eli Zaretskii [Wed, 2 Feb 2022 17:23:07 +0000 (19:23 +0200)]
; * etc/NEWS: Fix wording of a recently-added entry.
Po Lu [Wed, 2 Feb 2022 11:05:54 +0000 (19:05 +0800)]
Improve correctness of generated xwidget events
* src/xwidget.c (xw_maybe_synthesize_crossing): Add new
parameters for controlling the crossing mode. Also improve the
accuracy of generated crossing events when the mouse pointer
moves outside the toplevel from an inferior of it. All callers
changed.
(xw_notify_virtual_upwards_until):
(xw_notify_virtual_downwards_until): New parameters for crossing
mode. All callers changed.
Po Lu [Wed, 2 Feb 2022 07:33:48 +0000 (15:33 +0800)]
Send button events before setting xwidget passive grab
* src/xwidget.c (xwidget_button_1): Send button event before
any grab processing.
Po Lu [Wed, 2 Feb 2022 07:18:12 +0000 (15:18 +0800)]
* src/nsselect.m (ns_get_foreign_selection): Fix GCC warning.
Po Lu [Wed, 2 Feb 2022 07:17:20 +0000 (15:17 +0800)]
Make behaviour of `mouse-autoselect-window' consistent with X on NS
* src/nsterm.m ([EmacsView mouseMoved:]): Ignore if
`selected_window' is a minibuffer window.
Stefan Kangas [Wed, 2 Feb 2022 05:30:32 +0000 (06:30 +0100)]
; Merge from origin/emacs-28
The following commit was skipped:
1bb5553619 ; Auto-commit of loaddefs files.
Stefan Kangas [Wed, 2 Feb 2022 05:30:32 +0000 (06:30 +0100)]
Merge from origin/emacs-28
9ab0b43a72 * etc/NEWS: Apply final fixes after proofreading.
# Conflicts:
# etc/NEWS
Po Lu [Wed, 2 Feb 2022 04:56:55 +0000 (04:56 +0000)]
Improve behaviour of `mouse-autoselect-window' on Haiku
* src/haikuterm.c (haiku_read_socket): Don't select windows if
the selected window is a minibuffer window or a popup is
activated.
Po Lu [Wed, 2 Feb 2022 02:25:00 +0000 (02:25 +0000)]
Fix display of vertical window dividers on Haiku
* src/haikuterm.c (haiku_draw_window_divider): Make drawing
consistent with X.
Po Lu [Wed, 2 Feb 2022 01:17:31 +0000 (09:17 +0800)]
Don't use XRender to fill rectangles unless an alpha channel exists
* src/xterm.c (x_clear_area): Don't use XRender unless
`alpha_bits' is set.
Stefan Kangas [Tue, 1 Feb 2022 23:59:28 +0000 (00:59 +0100)]
; Auto-commit of loaddefs files.
Stefan Kangas [Tue, 1 Feb 2022 23:57:27 +0000 (00:57 +0100)]
; Auto-commit of loaddefs files.
Juri Linkov [Tue, 1 Feb 2022 20:07:20 +0000 (22:07 +0200)]
* lisp/replace.el (query-replace-read-from-default): New variable.
(query-replace-read-from-regexp-default): New variable.
(query-replace-read-from): Use new variables.
* lisp/progmodes/project.el (project-query-replace-regexp):
Let-bind query-replace-read-from-regexp-default to find-tag-default-as-regexp.
* lisp/progmodes/xref.el (xref-find-references-and-replace):
Let-bind query-replace-read-from-default to find-tag-default.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01909.html
Mattias Engdegård [Tue, 1 Feb 2022 19:43:15 +0000 (20:43 +0100)]
; * src/eval.c (funcall_subr): Fix last change
Juri Linkov [Tue, 1 Feb 2022 19:42:51 +0000 (21:42 +0200)]
* lisp/tab-line.el: Support non-buffer tabs in some tab face functions.
(tab-line-tab-face-special, tab-line-tab-face-modified): For non-buffer tabs
when 'tab-line-tabs-function' is e.g. 'tab-line-tabs-buffer-groups',
try to get the buffer from the property 'buffer'.
https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01923.html
Andrea Corallo [Tue, 1 Feb 2022 16:58:47 +0000 (17:58 +0100)]
* Improve 'maybe_defer_native_compilation'
* src/comp.c (maybe_defer_native_compilation): Always store the
function name in Vcomp_deferred_pending_h if pending for deferred
compilation.
Andrea Corallo [Tue, 1 Feb 2022 15:32:09 +0000 (16:32 +0100)]
* lisp/startup.el (startup--require-comp-safely): Fix typo in
a92c6191b0
Mattias Engdegård [Tue, 1 Feb 2022 15:18:47 +0000 (16:18 +0100)]
Speed up calls to C primitives
* src/eval.c (funcall_subr): Test most likely cases first (conforming
calls to finite-arity or n-adic SUBRs), and the error cases last,
instead of doing it the other way around. Simplify.
Michael Albinus [Tue, 1 Feb 2022 13:17:32 +0000 (14:17 +0100)]
* etc/NEWS: Apply final fixes after proofreading.
Po Lu [Tue, 1 Feb 2022 12:15:37 +0000 (20:15 +0800)]
* src/pgtkterm.c (pgtk_draw_rectangle): Fix trivial typo. (bug#53677)
Andreas Schwab [Tue, 1 Feb 2022 10:59:43 +0000 (11:59 +0100)]
Remove extra \= from obsoletion message
* lisp/emacs-lisp/eieio.el (defclass): Remove \= from obsoletion
message.
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
(eieio-defclass-internal): Likewise.
Andrea Corallo [Tue, 1 Feb 2022 09:46:51 +0000 (10:46 +0100)]
Rename `comp--loadable' into `comp--compilable'
* lisp/startup.el (comp--compilable): Rename from `comp--loadable'.
(startup--require-comp-safely): Update accordingly.
(startup--honor-delayed-native-compilations): Likewise.
* src/comp.c (syms_of_comp): Update.
(maybe_defer_native_compilation): Likewise.
Andrea Corallo [Tue, 1 Feb 2022 09:24:12 +0000 (10:24 +0100)]
* Fix `startup--require-comp-safely' (bug#53675)
* lisp/startup.el (startup--require-comp-safely): Remove unnecessary
check.
Stefan Kangas [Tue, 1 Feb 2022 05:57:16 +0000 (06:57 +0100)]
Merge from origin/emacs-28
31ef751f94 Clarify documentation of a "face's font"
29bdedf12f Bind Qdebugger to Qdebug in signal_or_quit.
Po Lu [Tue, 1 Feb 2022 05:39:28 +0000 (05:39 +0000)]
Clean up Haiku display structures
* src/haikufns.c (haiku_set_parent_frame): Set `parent_desc'
correctly.
* src/haikuterm.h (C_FRAME, C_FONT, C_TERMINAL):
(struct haiku_display_info):
(struct haiku_output): Get rid of C_* preprocessor defines,
since these files are no longer included in any way by C++ files.
Po Lu [Tue, 1 Feb 2022 05:24:31 +0000 (13:24 +0800)]
; * lisp/select.el (gui--selection-value-internal): Fix comment.
Stefan Kangas [Tue, 1 Feb 2022 05:11:36 +0000 (06:11 +0100)]
Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2022-01-27 20:16:15 UTC.
Po Lu [Tue, 1 Feb 2022 04:58:00 +0000 (12:58 +0800)]
Display images with a mask correctly when `alpha-background' is set
* src/xterm.c (x_query_frame_background_color): Return value
adjusted for background alpha.
(x_draw_image_glyph_string): Respect `alpha-background' when
generating background pixmap.
Po Lu [Tue, 1 Feb 2022 02:13:15 +0000 (10:13 +0800)]
Only apply last change to the clipboard
* lisp/select.el (gui--selection-value-internal): Only return
nil if we own the clipboard.
Po Lu [Tue, 1 Feb 2022 02:03:05 +0000 (02:03 +0000)]
Avoid extraneous selection querying if we own the selection
* lisp/select.el (gui--selection-value-internal): Return nil if
`gui-backend-selection-owner-p' on window systems where it is
reliable.
Po Lu [Tue, 1 Feb 2022 01:38:26 +0000 (09:38 +0800)]
Make fringe bitmaps respect alpha-background
* src/xterm.c (x_draw_fringe_bitmap): Respect alpha-background
on non-overlay fringe bitmaps.
* src/xterm.h (struct x_display_info): New field `alpha_mask'.
Lars Ingebrigtsen [Mon, 31 Jan 2022 21:36:25 +0000 (22:36 +0100)]
Fix nnregistry byte compilation warning
* lisp/gnus/nnregistry.el (nnregistry-server-opened)
(nnregistry-open-server): Fix byte compilation warning.
Stefan Monnier [Mon, 31 Jan 2022 21:25:09 +0000 (16:25 -0500)]
(byte-compile-eval): Adjust to changes in `load-history`
The `function-history` patch introduced a regression which caused
spurious compiler warnings. Fix it.
The new code also fixes a bug in the old code, thus causing some
new non-spurious warnings. Fix them as well.
* lisp/emacs-lisp/bytecomp.el (byte-compile-eval): Adjust to changes in
`load-history`.
* lisp/gnus/gnus-group.el (nnrss-discover-feed)
(nnrss-save-server-data): Use `declare-function`.
* lisp/cedet/semantic/wisent/comp.el (wisent-defcontext)
(wisent-with-context):
* lisp/emacs-lisp/comp.el (comp-op-case): Silence compiler warning.
Alan Mackenzie [Mon, 31 Jan 2022 19:46:27 +0000 (19:46 +0000)]
Enlarge max-specpdl-size for generation of files in .../admin/grammars
* admin/grammars/Makefile.in: Add a --eval clause to set max-specpdl-size to
5000 (previously 2500) for these targets.
Eric Abrahamsen [Tue, 25 Jan 2022 00:24:10 +0000 (16:24 -0800)]
Don't remove dummy.group from gnus-newsrc-alist on Gnus save
bug#53352
* lisp/gnus/gnus-start.el (gnus-gnus-to-quick-newsrc-format): This
function was removing dummy.group from the global value of
`gnus-newsrc-alist' on save; we only wanted to remove it temporarily.
Eric Abrahamsen [Tue, 25 Jan 2022 00:20:44 +0000 (16:20 -0800)]
Obsolete gnus-registry-enabled in favor of checking gnus-registry-db
* lisp/gnus/gnus-registry.el (gnus-registry-enabled): Obsolete this
variable; recommend using `gnus-registry-db' as a boolean instead.
(gnus-registry-load, gnus-registry-register-message-ids,
gnus-registry-article-marks-to-chars,
gnus-registry-article-marks-to-names, gnus-registry-clear,
gnus-registry-install-p): In all these functions, test
`gnus-registry-db' instead of `gnus-registry-enabled'. We no longer
set or clear that variable.
Juri Linkov [Mon, 31 Jan 2022 18:46:06 +0000 (20:46 +0200)]
* lisp/vc/vc.el (vc-diff-internal): Assume revert-buffer is in current buffer.
Support the case when reverting is in the buffer with a name other than
the default name "*vc-diff*". Then don't try to switch to the buffer
"*vc-diff*" with an assumption that revert-buffer is always performed
in the current buffer (bug#28852).
Alan Mackenzie [Mon, 31 Jan 2022 17:44:59 +0000 (17:44 +0000)]
* lisp/progmodes/cc-mode.el (c-common-init): Bind case-fold-search to nil
This fixes bug #53605.