Commit graph

182564 commits

Author SHA1 Message Date
Dmitry Gutov
6370b66a87 Revert "; * lisp/progmodes/project.el (project-vc-dir): Fix docstring."
This reverts commit d0653b46f6.

Given the examples in
https://lists.gnu.org/archive/html/emacs-devel/2026-06/msg00276.html
it's clear that there is no consensus on using canonical names here.
2026-06-12 06:13:42 +03:00
Paul H. McClelland
78a10d17c6 Convert outline-search-function to defcustom
Make 'outline-search-function' a user option with named choices for
its predefined values, so users can configure it via Customize.
Preserves existing docstring and runtime semantics (bug#81053).

* lisp/outline.el (outline-search-function): Convert to defcustom.
* etc/NEWS: Announce it.
2026-06-11 20:47:40 +03:00
Paul Hsin-ti McClelland
194c28aaf2 Add outline-search-from-regexp generic helper
Add outline-search-from-regexp generic helper (bug#80887)

Minor modes and third-party packages that customize 'outline-regexp'
typically need an 'outline-search-function' implementation that
searches for 'outline-regexp' anchored at beginning of line.  Without
a generic helper, each such user reinvents the function locally.
Add it to outline.el.

This pattern has been in production use as a default value of
'outline-search-function' (set via 'setq-default') without issues.

* lisp/outline.el (outline-search-from-regexp): New function.
* etc/NEWS: Announce it.
2026-06-11 20:42:29 +03:00
James Cherti
b079716674 Document outline-show-entry-and-parents in the Emacs manual
* doc/emacs/text.texi (Outline Visibility): Document the new
'outline-show-entry-and-parents' command and its 'C-c C-e' keybinding.
(Foldout): Update the Foldout example to reference the new command
(bug#79286).
2026-06-11 20:38:37 +03:00
Sean Whitton
0cef3ee64b ; Merge from origin/emacs-31
The following commits were skipped:

2c6a03b08c Fix fontification in short unintegrated changes logs (bug...
7b23e17eb8 * lisp/vc/vc.el (vc-log-remote-unintegrated): Set vc-log-...
2026-06-11 16:12:15 +01:00
Sean Whitton
5c85d3f59d Merge from origin/emacs-31
ffa25543a1 vc-hg-trunk-or-topic-p, vc-hg-topic-outgoing-base: Fix re...
fe45d875a4 ; Fix last Tramp change
2026-06-11 16:12:15 +01:00
Sean Whitton
ba13312811 ; Merge from origin/emacs-31
The following commit was skipped:

133c79b6bc markdown-ts-mode: Sanitize work-buffer pool
2026-06-11 16:12:15 +01:00
Sean Whitton
f836632aee Merge from origin/emacs-31
f89ff62367 Extend Tramp external operations
4dea6ea36b markdown-ts-mode: fix duplicated menu entries (bug#81201)
9cad2da66e ; Fix last change.
cd84bd6a0c vc-dir-recompute-file-state: Change directory to DEF-DIR
47bdbc8d85 Restore "interactive" when describing functions
1a5d9a4be3 Inhibit follow-link via `mouse-1' on the tab-bar (bug#81036)
c94d58ddbf Fix the tab close button appearance when clicking (bug#76...
a21614d4d6 ; Skip one vc-dir test on MS-Windows
abddd2075a ; Fix last change to vc-dir-recompute-file-state.
89bda8736a Install images with info documentation (bug#81204)
466789b511 vc-dir-recompute-file-state: Return nil state for nonexis...
2026-06-11 16:12:15 +01:00
Sean Whitton
2c6a03b08c Fix fontification in short unintegrated changes logs (bug#81215)
Do not merge to master.

* lisp/vc/vc.el (vc--shortlog): New variable.
(vc-print-log-internal):
* lisp/vc/vc-git.el (vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-log-view-mode): Use it.
2026-06-11 16:11:04 +01:00
Sean Whitton
7b23e17eb8 * lisp/vc/vc.el (vc-log-remote-unintegrated): Set vc-log-view-type.
Do not merge to master.
2026-06-11 15:05:59 +01:00
Sean Whitton
cda9d9c733 Fix fontification in short unintegrated changes logs (bug#81215)
* lisp/vc/vc.el (vc-log-view-type): Replace with ...
(vc-log-view-types): ... this.  All uses changes.
(vc-log-remote-unintegrated): Newly pass a value for the log
view types.  This matters for Hg repositories.
(vc-print-log-internal): Ensure log view types always contains
either 'long' or 'short'.
(vc-root-log-incoming, vc-root-log-outgoing, vc-log-search):
* lisp/vc/vc-dir.el (vc-dir--count-outgoing): Pass both
log-incoming/log-outgoing/log-search and short/long for the log
view types.  This is necessary because these functions don't
call vc-print-log-internal.  This will need to be refactored
when implementing the new fileset-specific vc-log-incoming and
vc-log-outgoing.
2026-06-11 14:34:13 +01:00
Sean Whitton
ffa25543a1 vc-hg-trunk-or-topic-p, vc-hg-topic-outgoing-base: Fix ret vals
* lisp/vc/vc-hg.el (vc-hg-trunk-or-topic-p)
(vc-hg-topic-outgoing-base): Fix return values.
2026-06-11 14:23:28 +01:00
Michael Albinus
fe45d875a4 ; Fix last Tramp change 2026-06-11 14:52:55 +02:00
Boris Buliga
8486669e37 Disable one-time-code AutoFill heuristics in Emacs.app
* nextstep/templates/Info.plist.in: Set
NSAutoFillRequiresTextContentTypeForOneTimeCodeOnMac to true.

Copyright-paperwork-exempt: yes
2026-06-11 12:17:22 +01:00
Eli Zaretskii
51703705e7 ; Fix last change
* etc/NEWS:
* doc/lispref/variables.texi (Creating Buffer-Local): Improve
wording of last change's documentation.  (Bug#81111)
2026-06-11 10:41:48 +03:00
Stéphane Marks
c6c4888ced 'work-buffer--release' kill locals silently and reset the buffer (bug#81111)
This change helps ensure that work buffers are "clean" for reuse
by arbitrary callers.

* lisp/emacs-lisp/subr-x.el (work-buffer--release): Call
'kill-all-local-variables' with KILL-PERMANENT 'reset.
* src/buffer.c (Fkill_all_local_variables): If KILL-PERMANENT is
'permanent-local, kill all locals without prejudice.  If
KILL-PERMANENT is 'reset, also call 'reset_buffer'.
* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-with-work-buffer-locals-killed): New test.
* doc/lispref/variables.texi: Update 'kill-all-local-variables'
documentation.
* etc/NEWS: Announce the change to 'kill-all-local-variables'.
2026-06-11 10:34:44 +03:00
Eli Zaretskii
1c17d2a045 ; * lisp/cus-edit.el (setopt-local-type-mismatch): Another doc-string fix. 2026-06-11 09:29:48 +03:00
Eli Zaretskii
378c4a3d49 ; Fix last change
* etc/NEWS:
* lisp/cus-edit.el (setopt-local-type-mismatch): Improve wording
of documentation in last change.  (Bug#81120)
2026-06-11 09:28:15 +03:00
Stéphane Marks
725120ca3d Set user options in file/directory locals like 'setopt-local' (bug#81120)
This ensures defcustom ':set' functions are invoked.  The new
user option 'setopt-local-type-mismatch' can prompt users to
accept or discard type-mismatched values or to always accept or
discard such values.

* lisp/cus-edit.el (setopt-local-type-mismatch): New defcustom.
(setopt--set-local): Consult setopt-local-type-mismatch.
* lisp/files.el (hack-one-local-variable): Detect a custom
variable and call 'setopt--set-local'.
* etc/NEWS: Announce the change.
2026-06-11 09:17:52 +03:00
Stéphane Marks
133c79b6bc markdown-ts-mode: Sanitize work-buffer pool
This a workaround for the release branch due to the work-buffer
pool being insufficiently sanitized.
* lisp/textmodes/markdown-ts-mode.el
(markdown-ts--run-command-in-code-block): Reset 'mark-active'.
Do not merge to master.  (Bug#81218)  (Bug#81111)
2026-06-11 09:08:40 +03:00
Dmitry Gutov
6e67ac222b * src/xterm.c: (x_suspend_background_fills): Improve commentary. 2026-06-11 07:56:18 +03:00
James Cherti
8decb653ff Fix outline-end-of-subtree at end of buffer
When a subtree is at the end of the buffer and followed by a
newline, flagging the subtree as invisible incorrectly swallows
the final newline.

* lisp/outline.el (outline-end-of-subtree): Check for eobp
to ensure the function steps back over the final newline when
the subtree ends at the end of the buffer (bug#80917).
2026-06-10 18:54:10 +03:00
James Cherti
e7e9c55ba7 Add outline-show-entry-and-parents to reveal entry hierarchy
* lisp/outline.el (outline-mode-prefix-map):
Rebind 'C-e' from 'outline-show-entry'
to 'outline-show-entry-and-parents'.
(outline-mode-menu-bar-map): Use 'outline-show-entry-and-parents'
instead of 'outline-show-entry'.
(outline-isearch-open-invisible): Use the new command instead of
the 'outline-show-entry' primitive.  This prevents unintended
side effects for packages relying on the base API and avoids the
'isolated item' effect.
(outline-show-entry-and-parents): New function to climb the tree,
reveal parent headings, and unfold the current entry (bug#79286).
2026-06-10 18:47:04 +03:00
Sean Whitton
971fa88a58 VC-Dir: Clear and populate async headers in vc-dir-resynch-file too
* lisp/vc/vc-dir.el (vc-dir--set-header): New function, factored out.
(vc-dir-resynch-file, vc-dir-refresh): Use it.
2026-06-10 15:26:36 +01:00
Michael Albinus
f89ff62367 Extend Tramp external operations
* doc/misc/tramp.texi (New operations): Extend.

* lisp/net/tramp.el (tramp-file-name-for-operation-external):
Extend docstring.
(tramp-file-name-for-operation): Make more use of
`tramp-file-name-for-operation-external'.
(tramp-add-external-operation): Support ARG-TYPE `tramp-file-name'.

* test/lisp/net/tramp-tests.el (tramp-test49-external-backend-function):
Extend test.
2026-06-10 15:45:31 +02:00
Rahul Martim Juliato
4dea6ea36b markdown-ts-mode: fix duplicated menu entries (bug#81201)
* lisp/textmodes/markdown-ts-mode.el
(markdown-ts-code-block-in-context-mode-map)
(markdown-ts-in-table-mode-map): Remove redundant :parent.
2026-06-10 16:06:57 +03:00
Sean Whitton
9cad2da66e ; Fix last change. 2026-06-10 13:37:57 +01:00
Sean Whitton
cd84bd6a0c vc-dir-recompute-file-state: Change directory to DEF-DIR
* lisp/vc/vc-dir.el (vc-dir-recompute-file-state): Change
directory to DEF-DIR before calling into the backend.
* test/lisp/vc/vc-tests/vc-test-misc.el
(vc-test-vc-dir-on-symlink): Test that the file has the right
state.
2026-06-10 13:36:52 +01:00
Pip Cet
47bdbc8d85 Restore "interactive" when describing functions
* lisp/help-fns.el (help-fns-function-description-header): Only
substitute "an" for "a", not for a longer BEG (bug#81203).
2026-06-10 10:32:40 +01:00
Sean Whitton
d0653b46f6 ; * lisp/progmodes/project.el (project-vc-dir): Fix docstring. 2026-06-10 10:04:49 +01:00
Sean Whitton
4c12da0888 * lisp/progmodes/project.el (project-vc-dir): Make interactive-only. 2026-06-10 10:00:13 +01:00
Tomas Nordin
02f22865f6 Partially revert changes from bug#6157 (bug#81170, bug#45226)
* lisp/emacs-lisp/lisp.el (narrow-to-defun): Partially revert
changes from bug#6157 (bug#81170, bug#45226)
2026-06-09 22:07:05 +03:00
Stéphane Marks
1a5d9a4be3 Inhibit follow-link via `mouse-1' on the tab-bar (bug#81036)
Prevent 'tab-bar' mouse clicks from being directed to the
current buffer, for example, in `dired-mode'.  This prevents the
side effect that the clicked tab is erroneously closed.

* lisp/mouse.el (mouse-on-link-p): Explicitly exempt clicks in
'tab-bar' if there is a 'follow-link' property.
2026-06-09 18:52:28 +03:00
Juri Linkov
c94d58ddbf Fix the tab close button appearance when clicking (bug#76394)
* src/xdisp.c (handle_tab_bar_click): Use the variable 'close_p'
to show mouse face as sunken/raised only when clicked
on the close button.  Clicking elsewhere on the tab should not
change the close button's appearance using DRAW_MOUSE_FACE.
2026-06-09 18:49:32 +03:00
Paul Eggert
669ca4df18 Default to quoting `like this' in Elisp strings
Problem reported by Matthew Batson in:
https://lists.gnu.org/r/emacs-devel/2026-06/msg00172.html
* lisp/emacs-lisp/lisp-mode.el (lisp-data-mode):
Don’t set electric-quote-string to t.
2026-06-09 08:46:13 -07:00
Eli Zaretskii
a21614d4d6 ; Skip one vc-dir test on MS-Windows
* test/lisp/vc/vc-tests/vc-test-misc.el
(vc-test-vc-dir-on-symlink): Skip in MS-Windows.
2026-06-09 16:50:48 +03:00
Sean Whitton
abddd2075a ; Fix last change to vc-dir-recompute-file-state. 2026-06-09 14:37:54 +01:00
Peter Oliver
89bda8736a Install images with info documentation (bug#81204)
* Makefile.in (info_misc): Install all files with .png and .jpg
extensions into the info directory (bug#81204).
2026-06-09 13:42:02 +01:00
Sean Whitton
466789b511 vc-dir-recompute-file-state: Return nil state for nonexistent file
* lisp/vc/vc-dir.el (vc-dir-recompute-file-state): Return nil
state for nonexistent file (bug#81191).
2026-06-09 12:09:14 +01:00
Sean Whitton
d7e7dd62ff Merge from origin/emacs-31
71ea4bbb6c vc-test-vc-dir-on-symlink: Use vc-test--with-author-identity
b8fa2243ea Fix M-RET in 'markdown-ts-in-table-mode-map'
c244314974 Fix recurrence of bug#80803 after changes in bug#80967
2026-06-09 11:33:26 +01:00
Sean Whitton
f343f20b94 Mark vc-dir-show-outgoing-count obsolete
* lisp/vc/vc-dir.el (vc-dir-show-outgoing-count): Mark obsolete.
(vc-dir-async-header-values): Use a list of cons.
(vc-dir-headers, vc-dir-refresh): Update for new
vc-dir-async-header-values structure.
* doc/emacs/maintaining.texi (VC Directory Buffer): Delete
mention of the variable.
* etc/NEWS: Announce the obsoletion.
2026-06-09 11:32:13 +01:00
Sean Whitton
71ea4bbb6c vc-test-vc-dir-on-symlink: Use vc-test--with-author-identity
* test/lisp/vc/vc-tests/vc-tests.el (vc-hg-global-switches):
Declare.
(vc-tests-helpers): Require.
(vc-test--create-repo-function, vc-test--with-author-identity):
Move these from here ...
* test/lisp/vc/vc-tests/resources/vc-tests-helpers.el
(vc-test--create-repo-function, vc-test--with-author-identity):
... to here.
(vc-hg-global-switches):
* test/lisp/vc/vc-tests/vc-test-misc.el (vc-hg-global-switches):
Declare.
(vc-dir, log-edit, vc-tests-helpers): Require.
(vc-test-vc-dir-on-symlink): Use vc-test--with-author-identity
and vc-test--create-repo-function.
2026-06-09 11:21:33 +01:00
Sean Whitton
a0dc061fa2 VC-Dir: Handle counting outgoing revisions asynchronously
* lisp/vc/vc-dir.el (log-view-message-re): Declare.
(vc-dir--count-outgoing): Rewrite to not block on populating the
outgoing log.
(vc-dir-async-header-values): New variable.
(vc-dir-headers): Just insert "Outgoing   : ", not its value.
(vc-dir-refresh): Insert overlays for async fields.
* lisp/vc/vc.el (vc--count-outgoing): Delete.
2026-06-08 19:17:47 +01:00
Michael Albinus
1da4eeb8c6 ; * doc/translations/README: Fix typos. 2026-06-08 18:39:03 +02:00
Vincent Belaïche
60171b3714 Better document compiling doc translations
* doc/translations/README: Document how to compile all
translations, or just for one language. Clarify where Texinfo
source code resides, and where compiled output goes.
2026-06-08 16:52:18 +02:00
Vincent Belaïche
cc68545ff1 Fix build: doc dependency derivation from DOCLANGS
* Makefile.in (srcdir_doc_info_dir_inputs): Compute using sources
for each available translation. This fixes build error
``No rule to make target
'doc/misc/../translations/fr/misc/auth.texi', needed by
'info/dir''' introduced by support for doc translations.
2026-06-08 16:52:17 +02:00
Stéphane Marks
b8fa2243ea Fix M-RET in 'markdown-ts-in-table-mode-map'
* lisp/textmodes/markdown-ts-mode.el
(markdown-ts-in-table-mode-map): Map 'M-RET' to
'markdown-ts-table-insert-row-below' (bug#81196).
2026-06-08 15:40:21 +01:00
Sean Whitton
0fac164893 Merge from origin/emacs-31
fff343c332 ; Fix typos in iCalendar macro and recurrence docstrings
912c8e3691 Ensure Tramp backward compatibility
df9b97e516 ; update README for windows binaries
9e37c94079 Read a key sequence instead of a single key in 'map-y-or-...
2755f171fc ; Document new features and update NEWS
13842157d2 ; * etc/NEWS: Presentational fixes and improvements.

# Conflicts:
#	etc/NEWS
2026-06-08 15:36:26 +01:00
Sean Whitton
d71cb00408 ; Merge from origin/emacs-31
The following commit was skipped:

f653fd9f10 Avoid recursive error in debug-early in batch mode
2026-06-08 15:36:23 +01:00
Sean Whitton
8636e39abb Merge from origin/emacs-31
df2508a8f6 Remove from CC Mode code that modifies 'major-mode-remap-...
3106dc7766 Assert we don't double-free timers (bug#81108)
90314895dd Don't cancel random timers in x_get_foreign_selection (bu...
5cd7785b0a Fix use-after-free in Ffuncall_with_delayed_message (bug#...
2026-06-08 15:36:23 +01:00