* lisp/erc/erc.el: Change "Version" package header from 5.6.2-git to
5.6.2. The ERCVER variable in doc/misc/erc.texi is already there.
Retain `customize-package-emacs-version-alist' mapping to Emacs 31.1
even though master has already advanced to 32.0.50.
(erc-version): Change version from 5.6.2-git to 5.6.2.
* doc/misc/erc.texi: Change ERCVER to 5.6.2.31.1.
* lisp/erc/erc.el: Change "Version" package header to 5.6.2.31.1. Don't
update the `customize-package-emacs-version-alist' entry because this is
not a GNU ELPA release.
(erc-version): Change version to 5.6.2.31.1.
Do not merge to master.
* lisp/textmodes/sgml-mode.el (sgml--find-<>-backward): Ignore
SGML tags that happen to occur within comments. This also means
that the contents of comments are not indented, but also do not
affect the indentation of tags following the comments as well.
(Bug#80841)
* lisp/net/eww.el (eww-submit): If a form does not specify an action
the assumed action is the current URL. If the current URL has an
existing query part, that part must be replaced by the form values,
rather than appended to.
Copyright-paperwork-exempt: yes
* lisp/minibuffer.el (completions--start-background-update):
Cancel a possible leftover timer (e.g. from the previous
after-change hook) that would suppress the display of
*Completions* when 'completion-eager-update' is nil.
(completions--after-change): Don't start background update
when not required to automatically update *Completions*.
* lisp/startup.el (prepare-user-lisp): Call
'directory-files-recursively' with a non-nil value for
FOLLOW-SYMLINKS. This was the intended way for the function to
operate, during the planning phase, so that users could
structure their User Lisp directory by linking in Lisp
directories from other parts of their file system.
* src/xterm.c (handle_one_xevent): Move the
x_clear_under_internal_border call before expose_frame, for less
chance of implicit flush to screen in between (bug#80662).
Calls to 'read-passwd' may be nested. The old code didn't handle
that, because some of the state was global and we'd end up revealing
passwords. The new code still has global state, but it has been
changed so that we hide rather than reveal passwords when we enter or
leave a nested read-passwd prompt.
* lisp/auth-source.el (read-passwd--hide-password): Removed.
(read-passwd--password-hidden): New.
(read-passwd-toggle-visibility): Add optional FORCE argument.
(read-passwd--mini-buffers): New variable.
(read-passwd-mode): Don't modify mode line when nested. Hide password
when returning to nested minibuffer or entering a new one.
Allow completion "frontends" to provide extra information
that the backends they call can use to adjust or optimize
their behavior.
See some relevant discussion at
https://yhetil.org/emacs/jwv7bpl28y6.fsf-monnier+emacs@gnu.org/
* lisp/minibuffer.el (completion-frontend-properties):
New variable.
(completion-lazy-hilit-p): New function.
(completion-hilit-commonality, completion-lazy-hilit)
(completion-pcm--hilit-commonality)
(completion-flex-all-completions): Use it instead of
checking the 'completion-lazy-hilit' variable directly.
* lisp/completion-preview.el (completion-preview--capf-wrapper):
Bind 'completion-frontend-properties'.
(completion-preview--try-table): Add comment.
* etc/NEWS: Announce 'completion-frontend-properties'.
This functionality has been replaced by the new sleep library
which supports more then just DBUS systems.
* lisp/obsolete/gnus-dbus.el: Add Obsolete-since header. Add
commentary.
(gnus-dbus-close-on-sleep, gnus-dbus-sleep-registration-object)
(gnus-dbus-register-sleep-signal gnus-dbus-sleep-handler)
(gnus-dbus-unregister-sleep-signal): Mark as obsolete.
Previously, "M-x rmail" would not call 'run-mode-hooks', which
didn't let globalized minor modes a chance to turn on themselves
in Rmail buffers. This modifies the way Rmail runs the various
hooks so as to abide by behavior required by Emacs 30 and later.
* lisp/mail/rmail.el (rmail-mode-2): Call 'run-mode-hooks'.
(rmail-mode): Call 'run-hooks', not 'run-mode-hooks'. Suggested
by Mark Lillibridge <mdl@alum.mit.edu>. (Bug#80879)
Github-reference: https://github.com/joaotavora/eglot/discussions/1588
When the server negotiates positionEncoding utf-8 or utf-16,
ParameterInformation.label vector offsets are byte/code-unit counts
into the signature label, not character counts. Using them raw caused
wrong highlights and crashes on Unicode-rich signatures.
* lisp/progmodes/eglot.el (eglot--sig-info): Mostly rewrite.
(eglot-move-to-utf-8-linepos-function): Tweak docstring.
(eglot-move-to-utf-8-linepos, eglot-move-to-utf-16-linepos): Return
position moved to.
2d496b842d ; Fix Gregor Schmid's attribution for lua-mode.el.
69c50dcb47 ; package-activate-all: Drop requiring package now not pr...
f94637749a vc-switch-working-tree: Use project-current again
060451d6e0 treesit-explore-mode usability improvements (bug#80935)
48b064a2aa Fix 'vc-dir-resynch-file' again (bug#80967)
Improve the usability of treesit-explore-mode.
- Prompt for the primary parser first, if there is one, rather
than the first in the list reported by 'treesit-parser-list'.
Previously, in a multi-parser buffer like 'markdown-ts-mode', one
had to hunt for the primary parser.
- Kill the tree buffer and its window if the source buffer is
killed or 'treesit-explore-mode'. Previously, when
'treesit-explore-mode' is disabled in the source buffer, its
companion explorer tree buffer was left dangling and window
open (with an unrelated buffer).
- Improve 'treesit--explorer-refresh-1' to recenter the window
around the selected nodes when the selected region in the source
buffer changes. Previously, one had to navigate manually to find
the corresponding highlighted node in the tree window which may
be far away from that the source buffer's region represents.
- Disable 'treesit-explore-mode' in the source buffer if its
companion tree buffer is killed. Previously,
'treesit-explore-mode' remained active in the source buffer in
an effectively unusable state.
- Disable 'treesit-explore-mode' if the user quits
'completing-read' in 'treesit-explorer-switch-parser' when
enabling the mode. Previously, 'treesit-explore-mode' was left
enabled after quit.
- New command to switch back and forth between the source buffer
and tree buffer windows to make navigating more convenient.
Previously, in a multi-window frame, one had to navigate to/from
these two related windows in a more cumbersome way.
- New command to quit 'treesit-explore-mode' and
'treesit--explorer-tree-mode' and handle buffer and window
cleanup.
* lisp/treesit.el (treesit--explorer-refresh-1): Recenter the
window, if amenable, to the node selected in the source buffer.
(treesit--explorer-kill-explorer-buffer): Remove function.
(treesit--explorer-generate-parser-alist): Prioritize the
primary parser, if there is one.
(treesit--explorer-tree-mode-cleanup): New defun.
(treesit-explore-quit): New command.
(treesit-explorer-tree-window): New defun.
(treesit-explorer-source-buffer-window): New defun.
(treesit-explore-mode-map): Revise key bindings.
(treesit--explorer-tree-mode-map): Revise key bindings.
(treesit--explorer-tree-mode): New keymap.
(treesit-explorer-switch-parser): Add a default to
completing-read.
(treesit-explore-mode): Guard completing read quit. Wire up the
new cleanup functions.
This unbreak project-vc-dir for dirs under non-truename
hierarchies.
The following commit presumably makes 'M-x vc-dir' usable again
for versioned directories inside non-truename hierarchies,
commit e05fab5775
Author: Stephen Berman <stephen.berman@gmx.net>
Date: Sat May 2 15:11:37 2026 +0200
Fix 'vc-dir-resynch-file' (bug#80803)
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Apply 'file-truename'
instead of 'expand-file-name' to FNAME argument to prevent
spurious display of symlinked files in *vc-dir* buffer.
However the similar command 'M-x project-vc-dir' was broken and made
unusable in similar circumstances.
This relatively simple fix addresses both situations touching only the
problematic 'vc-resynch-file' and one of its callees,
'vc-dir-recompute-file-state', which now discerns clearly between the
short/familiar name to present in the list and the "fname" to use to
call into the backend to gather the VC state. Since this function is
also called from another context, where the requirements are less clear,
keeping current smenatics in that situation seemed prudent, so the new
behaviour is activate with a new optional parameter.
* lisp/vc/vc-dir.el (vc-dir-resynch-file): Call
vc-dir-recompute-file-state with truename=t.
(vc-dir-recompute-file-state): Accept optional truename param.
There are still unfixed problems in *Authors Errors*.
* ChangeLog.3: Fix typos.
* ChangeLog.5: Export from VCS history.
* Makefile.in: Update PREFERRED_BRANCH.
* admin/authors.el (authors-aliases, authors-ignored-files)
(authors-valid-file-names, authors-renamed-files-alist): Add
some entries.
* etc/AUTHORS: Regenerate.
* README:
* configure.ac:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 31.0.60.
* lisp/cus-edit.el (customize-changed-options-previous-release):
Set last version to 30.2.
'data-directory' needs to be established in advance of 'ns_init_colors'
to ensure the file "etc/rgb.txt" is read. This was encountered on an
out-of-tree Nix build.
* src/emacs.c (main): Move the 'ns_init_colors' after 'init_callproc'.
Copyright-paperwork-exempt: yes