I can't believe we weren't doing this before.
* src/xterm.c (x_handle_wm_state): New function.
(handle_one_xevent): Handle window state changes in WM_STATE
messages, and use them for signalling deiconification.
(bug#58164)
992611b10a Fix documentation of 'TAB' in cc-mode
08e485a2a5 Fix 'org-export-dispatch' command name in manual
e5a49f44ff * src/emacs.c (load_pdump): Fix use of xpalloc.
7ff5207624 Avoid assertion violation in 'xpalloc'
# Conflicts:
# src/emacs.c
(repeat-post-hook, repeat-echo-message-string): Add backward-compatibility
code for repeat-exit-key to keep support for 'key-sequence' type (bug#55986).
(repeat-exit-function): New variable.
(repeat-post-hook): Set repeat-exit-function.
Call repeat-exit from run-with-idle-timer.
Also use repeat--exit.
(repeat--exit): New internal function.
* lisp/help-fns.el (help-fns--insert-menu-bindings): Make this
work better for menus that turn out to not be reachable after all
-- i.e., don't insert " and " before the heading in certain cases.
* lisp/ecomplete.el (ecomplete-add-item): Allow forcing new values.
(ecomplete--remove-item):
(ecomplete--prompt-type): New functions.
(ecomplete-edit, ecomplete-remove): New commands.
* lisp/files.el (major-mode-remap-alist): New custom var.
(set-auto-mode--last): New var.
(set-auto-mode-0): Obey `major-mode-remap-alist`.
* doc/emacs/modes.texi (Choosing Modes): Document `major-mode-remap-alist`.
* lisp/progmodes/cperl-mode.el: Recommend the use of
`major-mode-remap-alist` over the crude `defalias` solution.
* lisp/textmodes/tex-mode.el (tex--guess-mode): Simplify.
(tex--redirect-to-submode): Obey `major-mode-remap-alist`.
* doc/lispref/compile.texi (Native-Compilation Variables):
Document it.
* lisp/startup.el (normal-top-level): Set
inhibit-native-compilation from environment variable.
* lisp/subr.el (native-comp-deferred-compilation): Make obsolete.
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Don't write
trampolines to disk.
* lisp/progmodes/elisp-mode.el
(emacs-lisp-native-compile-and-load): Adjust.
* src/comp.c (syms_of_comp): New variable
inhibit-native-compilation.
(maybe_defer_native_compilation): Use it.
* doc/emacs/mule.texi (International): Refer to X Coding as
well.
(Communication Coding): Document that locale-coding-system is
not always used on X to decode keyboard input.
(X Coding): New node.
* etc/NEWS: Announce change to input method coding resolution.
* lisp/term/x-win.el (x-get-input-coding-system): New function.
* src/coding.c (syms_of_coding): Update doc string of
locale-coding-system.
* src/xfns.c (struct x_xim_text_conversion_data)
(x_xim_text_to_utf8_unix_1, x_xim_text_to_utf8_unix_2)
(x_xim_text_to_utf8_unix): Accept dpyinfo. Use the coding
system specified inside if possible.
(xic_preedit_draw_callback): Pass dpyinfo.
* src/xterm.c (handle_one_xevent): Use XIM coding system for IM
input.
(xim_open_dpy): Try to determine the input method coding system.
(mark_xterm): Mark `xim_coding'.
(syms_of_xterm): New variable `x-input-coding-system'.
* src/xterm.h (struct x_display_info): New field `xim_coding'.
(FRAME_X_XIM_CODING): New macro.
This reverts commit 570a11052b.
We do not want to support several keymap formats in
`keymap-set' and friends -- the point is to have an
interface with easy-to-understand semantics that
give good feedback on valid/invalid key sequences.
* lisp/Makefile.in (.el.elc):
* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-set-file-times):
Use the POSIX standard TZ=UTC0 rather than the GNU extension
TZ=UTC to set the time zone to UTC.
Prefer static_assert in just one file for now; the idea is to do
it elsewhere eventually. static_assert is standard (starting with
C23) whereas verify is not, and static_assert can be used even in
pre-C23 files due to Gnulib’s support for it.
* lib-src/seccomp-filter.c: Do not include verify.h.
Prefer static_assert to verify.
These are the "compile-first" .elc files, artificially given an old timestamp
to cause them later to be native compiled. This fixes bug #58224.
* lisp/Makefile.in (compile-first .el.elc): Give these .elc's the UTC epoch.
Amend the comment.
* src/lread.c (Fload): New variable, epoch_timestamp, initialized to binary
zero. Compare with this the timestamp of .elc's being loaded, and if they
match, don't output the message about the source file being newer than the
file being loaded.
Check that vc-git-patch-string contains the same changes that already exists
in the staged area when files were added/removed by vc commands (bug#52349).
* lisp/vc/vc-git.el (vc-git-log-incoming): Use repository part
from non-nil remote-location in the command "fetch".
* lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Mention in
docstrings and prompts that REMOTE-LOCATION can be a remote branch name.
* doc/emacs/maintaining.texi (VC Change Log): For commands
vc-log-incoming and vc-log-outgoing, use the term "remote location"
instead of "repository".
While we want to standardize on the `kbd` syntax for user-facing code,
the internal vector representation of key sequences is not going away,
so let's not impose silly `key-description + key-parse` roundtrips.
Also, provide some support for packages stuck with user configs defined
to hold old-style key formats.
* lisp/keymap.el (keymap-set): Allow vectors as `key`.
(key-parse-old-format): New function, which stands out better than
`key-description` when searching for uses of the old syntax.
* list/outline.el (outline-minor-mode): Use it.
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Don't
bind coding system variables, because that leads to loading other
files (like cookie files) using that coding system (bug#58227).
* lisp/url/url-handlers.el (url-insert-file-literally): New function.
(url-insert): Allow forcing no-decode.
* lisp/net/tramp-archive.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-uu.el:
* lisp/net/tramp.el: Don't say "Emacsen" when a different wording
would be clearer.
* lisp/language/misc-lang.el ("Gothic"): New language environment.
Add sample text and input method.
* lisp/international/fontset.el (script-representative-chars)
(setup-default-fontset): Support gothic.
* lisp/leim/quail/misc-lang.el ("gothic"): New input method.
* etc/HELLO: Add Gothic greetings.
* etc/NEWS: Announce the new language environment.
* xterm.c (x_ewmh_activate_frame): Remove unnecessary
x_wm_supports check.
(x_focus_frame): When the window manager supports
_NET_ACTIVE_WINDOW, just use it; anything else may confuse the
window manager.