* lisp/comint.el (comint-word): We were checking for
comint-file-name-quote-list existing, but not actually comparing
to the characters in that list. This patch actually checks the
contents of comint-file-name-quote-list (bug#53911).
* lisp/startup.el (startup-redirect-eln-cache)
(startup--update-eln-cache): New functions.
(startup--original-eln-load-path): New defvar.
(normal-top-level): Record the original value of
'native-comp-eln-load-path' in 'startup--original-eln-load-path'.
Do not amend 'native-comp-eln-load-path' here, as that could
overwrite user customizations.
(command-line): Amend 'native-comp-eln-load-path' after loading
the early-init file, and then again after loading the user init
file. (Bug#53891)
* etc/NEWS: Announce 'startup-redirect-eln-cache'.
* src/xfns.c (x_make_gc): Don't set FillOpaqueStippled on cursor
GC. The reason is that some X servers break on such a fill
style if the operation being performed is not a stiple
operation.
* src/xterm.c (x_make_frame_visible): Change the user time
window if the window manager supports something different from
what it did the first time the frame was made visible.
Update show-paren--last-pos also in the "not at paren position" case.
Otherwise, we don't get the context info when moving point from a
paren position to a non-paren position and back again.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-range-for-arithm):
When one of the two sources is negated revert to set dst as
number.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add test to
verify this is effective.
* src/xterm.c (x_make_frame_visible):
(x_display_set_last_user_time): Use and set user time window if
the WM supports it.
(x_term_init): Intern new atom.
* src/xterm.h (struct x_display_info): New atom
`_NET_WM_USER_TIME_WINDOW'.
(struct x_output): New field `user_time_window'.
* src/xterm.c (x_display_set_last_user_time): Set user time on
the active window.
(handle_one_xevent): Only set user time when the user actually
interacted with Emacs.
(x_make_frame_visible): Set user time if non-zero.
(x_term_init): Intern `_NET_WM_USER_TIME'.
* src/xterm.h (struct x_display_info): New field
`Xatom_net_wm_user_time'.
(x_display_set_last_user_time): Implement in xterm.c instead.
People get confused on a build without font dialogs (such as a
Lucid build) if `menu-set-font' and `mouse-set-font' don't
present them a list of the fonts actually available on their
system.
* lisp/mouse.el (mouse-generate-font-name-for-menu)
(mouse-generate-font-menu): New functions.
(mouse-select-font): Allow the user to select from all fonts
available on the system.
(mouse-set-font): Use `mouse-select-font' to display font menu.
* lisp/paren.el (show-paren-context-when-offscreen): Add new
possibility `overlay'.
(show-paren--context-overlay): New defvar.
(show-paren--delete-context-overlay): New function.
(show-paren--show-context-in-overlay): New function.
(show-paren-function): Handle the new `overlay' case.
* lisp/emacs-lisp/eldoc.el (eldoc-display-message-no-interference-p):
There's no interference if `show-paren-context-when-offscreen' is
overlay or child-frame.
* doc/emacs/frames.texi (Multiple Displays): Add index entry for
'display server'.
* lisp/frame.el (make-frame-on-display): Specify sensible initial
values when reading display name.
* lisp/menu-bar.el (menu-bar-file-menu): Use 'display server' rather
than 'display' to avoid monitor<->display confusion.
* lisp/net/tramp.el (tramp-handle-make-process): Quote `localname'.
* test/lisp/net/tramp-tests.el (tramp--test-check-files):
Test also remote `default-directory' for processes. (Bug#53846)
* src/haiku_support.cc (class EmacsWindow): New field
`override_redirect_p'.
(BWindow_change_decoration, BWindow_set_override_redirect): Set
and restore from the saved pre-override redirect state fields if
appropriate.
* src/xterm.c (handle_one_xevent): Clear mouse highlight when
leaving the edit widget. Otherwise, it stays around on the
toolbar after the mouse is moved onto the menu bar.