* doc/emacs/maintaining.texi (Looking Up Identifiers):
Mention that 'M-.' can signal an error.
(Xref): Recommend using 'etags-regen-mode' (bug#43086).
* etc/NEWS: Add updated marks.
* lisp/emacs-lisp/package-activate.el (package--suggestion-applies-p):
The file name associated with a buffer is a better match for
entries in 'auto-mode-alist', so we use that instead of the
buffer name that can have additional noise to make the name unique.
* lisp/emacs-lisp/package-activate.el
(package-autosuggest-style): Remove option 'once' and defer to
new user option.
(package-autosuggest-once): Add new option.
(package--suggestion-applies-p)
(package--autosuggest-after-change-mode): Respect new user option.
* lisp/emacs-lisp/package-activate.el (package-autosuggest-mode):
Add :initialize property to minor mode definition as recommended
in (elisp) Variable Definitions.
* lisp/vc/vc-dispatcher.el (vc-user-edit-command-history): Use
this as a dynamically bound variable, not a minibuffer history.
(vc-user-edit-command): Pass its value to read-shell-command.
* lisp/vc/vc-git.el (vc-git--pushpull):
* lisp/vc/vc.el (vc-edit-next-command): Bind it.
(vc-edit-next-command-history): New variable.
* etc/NEWS: Document the change.
* lisp/progmodes/xref.el (xref-find-backend):
Allow returning nil (bug#43086).
(xref-backend-definitions, xref-backend-apropos):
Signal user-error when no backend is available. The error text
suggests a few built-in Xref backends.
(xref-backend-identifier-completion-table): Default to nil.
(xref--no-backend-available): New helper function.
* lisp/progmodes/etags.el (etags--xref-backend):
Return nil when no tags table is visited.
Just because a specific request of a specific "hint" is
cancelled doesn't mean we can cancel the other's too. Also
eglot-advertise-cancellation = nil was subtly broken.
This manifested itself mostly in Eglot semantic tokens.
* lisp/progmodes/eglot.el (eglot--async-request): Fix thinkos.
* lisp/align.el (align-region): Use markers to ensure the regions
stay accurate after overlapping aligning modifications. (Bug#80316)
* test/lisp/align-tests.el (align-c-multi-section): New test.
It is both simpler to code and marginally more general (allows
spaces in arguments).
* lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode-yamllint-options): Use
a list.
(yaml-ts-mode-flymake): Adjust accordingly.
* test/lisp/vc/vc-git-tests.el (vc-git-test-branch-remotes):
The 'unset' subcommand to 'git config' was introduced in git 2.46; use
the '--unset' option instead.
* lisp/emacs-lisp/package.el (package--autosuggest-database):
Add new variable.
(package--autosuggest-find-candidates): Load the contents of the
database from 'data-directory' if necessary, and store them in
the new variable.
* lisp/emacs-lisp/package.el (package--autosugest-prompt):
Adjust message to indicate that no changes have yet occurred.
Co-Developed-By: Jens Schmidt <jschmidt4gnu@vodafonemail.de>
* lisp/emacs-lisp/package.el (package--autosugest-prompt): Go
through all suggestions for the same package and mention why a
package suggestion was relevant.
* src/xdisp.c (move_it_vertically_backward): Zero out cached value
of line height, to avoid using stale and incorrect values.
(try_window_reusing_current_matrix): Fix conditions for changes in
tab-line height.
Reported by Michael Heerdegen <michael_heerdegen@mailbox.org> in
https://lists.gnu.org/archive/html/help-gnu-emacs/2026-01/msg00163.html
This improves the scrolling a little bit, but doesn't solve the
problem entirely.
* lisp/emacs-lisp/package.el (package--autosugest-line-format):
Insert a space before the mode-line hint.
(package--autosuggest-after-change-mode): Add hint to 'mode-name'.