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
These will be resubmitted as patches for review.
Revert "Repair another test bollixed by aggressive optimization."
This reverts commit 47735e0243.
Revert "Repair ab ecal test by making a variable kexical,"
This reverts commit ca42055b0c.
Revert "Complete the test set for floatfns,c."
This reverts commit 1b0c8d6b95.
Revert "Tesrts for the portable primitives in fileio.c."
This reverts commit a339c6827c.
Revert "Tests for primitives in coding.c and charset.c."
This reverts commit 5749b2e4f4.
Revert "Tests for primitives from the character.c module."
This reverts commit b09f8df206.
Revert "Tests for the lreaf.c amd print.c primitives."
This reverts commit d7a3d442b4.
Revert "Tests for remaining functions iun eval.c."
This reverts commit cd038e5617.
Revert "Completing test coverage for dataa.c orimitives."
This reverts commit a6e19d6179.
Revert "More correctness tesrs for orinitives from fns.c."
This reverts commit 40ff4512ad.
Revert "More tests for edit functions, buffers, and markers."
This reverts commit 67e8f87562.
Revert "Added more buffer/marker/editing test coverage."
This reverts commit 3dda4b85e8.
Revert "Category/charset/coding + char-table tests."
This reverts commit 7a93a7b334.
Revert "More test coverage improvements."
This reverts commit fc7339c46d.
Revert "More test coverage improvements."
This reverts commit 95329bf445.
Revert "More test coverage improvements for ERT."
This reverts commit e42c579a54.
Revert "Crrections to tedt coverrage extensuion after bootstrap build."
This reverts commit 90af3295c7.
Revert "Improve test coverage of builtin predicates."
This reverts commit 6eb170b007.
Revert "Tests for 2 marker primitives previously not covered."
This reverts commit 6d7f0acf9c.
Revert "Tests for 7 editor primitives previously not covered."
This reverts commit bb403e70ae.
* src/xterm.c (x_make_frame_visible): Move XMoveWindow call before
gtk_widget_show_all, so that the move happens before the frame
become visible (bug#80662).
* src/gtkutil.c (xg_frame_set_char_size)
(xg_frame_set_size_and_position): Call gtk_window_resize for
child frames too, to record _GtkWindowGeometryInfo#resize_width
and resize_height. They are later looked up by
gtk_widget_show_all in x_make_frame_visible (bug#80662).
Without this the widgets go back and forth between the
remembered and actual sizes after make-visible.
* src/nsterm.m (cancel_ns_deferred_UAZoomChangeFocus_timer): New function.
([EmacsView windowWillClose:]): New method. Cancel the timer if the window
closes before it runs.
([EmacsView deferredhandler:]): Guard against emacsframe being deleted before
the timer runs.
See discussion at
https://yhetil.org/emacs/86y0hy9e6g.fsf@gnu.org/
* lisp/emacs-lisp/elisp-scope.el (elisp-scope-analyze-form):
Add example in docstring.
* lisp/progmodes/elisp-mode.el (elisp-fontify-semantically):
Clarify use of 'cursor-sensor-mode'.
* lisp/mouse.el (context-menu-functions): Add missing
'context-menu-send-to' to :type.
(context-menu-send-to): Get non-nil items to avoid
useless message "Nothing to send".
* lisp/send-to.el (send-to-handlers): Change from
'defvar-local' to 'defvar' to allow easier global configuration.
(send-to-supported-p): Check for non-nil handler.
This ensures we only compute the 'help-echo' string once per
symbol in a certain position.
* lisp/progmodes/elisp-mode.el
(elisp--annotate-symbol-with-help-echo): Add caching for
when the symbol role's :help property is a function.
A new basic face 'margin' is used for text displayed in the left and
right margin areas, i.e., the areas typically used by VCS and LSP
packages for per-line annotations. Its background defaults to the
frame default, preserving existing behavior for users who do not
customize it.
* etc/NEWS: Document the new 'margin' face.
* lisp/faces.el (margin): Add 'margin' face, inheriting from 'default'.
* src/dispextern.h (face_id): Add MARGIN_FACE_ID.
* src/xdisp.c (face_at_pos): Use 'margin' as the base face for
strings displayed in margin areas so that they inherit the gutter
background by default.
(extend_face_to_end_of_line): Compute 'margin_fill_face_id' from the
'margin' face. Use while loops to explicitly fill all empty character
slots in both left and right margins for both GUI and TTY branches.
(display_line): Call 'extend_face_to_end_of_line' for beyond-EOB rows
when the window has margins. Also extend the existing condition for
text rows with empty margins to trigger when the 'margin' face
background differs from the frame default, not only when the default
face is remapped.
* src/xfaces.c (realize_basic_faces): Realize 'margin' as a basic
face to support face-remapping and efficient lookup.
(Bug#80693)
* lisp/gnus/message.el (message-multi-smtp-send-mail): Set
'smtpmail-stream-type' if specificed in the header.
* doc/misc/message.texi (Mail Variables): Document that.
(Bug#80880)