Commit graph

182585 commits

Author SHA1 Message Date
Michael Albinus
c68f3237be Fix file-name-non-special implementation of get-file-buffer
* lisp/files.el (file-name-non-special): Fix `get-file-buffer'.
(Bug#80718)

* test/lisp/files-tests.el
(files-tests-file-name-non-special--temp-file-prefixes): Extend list.
(w32-downcase-file-names): Declare.
(files-tests-file-name-non-special-get-file-buffer): Adapt test.
2026-05-12 08:48:43 +02:00
F. Jason Park
6d347d9834 Release ERC 5.6.2
* 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.
2026-05-11 20:26:20 -07:00
F. Jason Park
a8f67a1f06 Change ERC version for Emacs 31 to 5.6.2.31.1
* 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.
2026-05-11 20:24:26 -07:00
Philip Kaludercic
7eab6ef3ce
Fix 'sgml-parse-tag-backward' to handle tags in comments
* 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)
2026-05-11 23:43:27 +02:00
Aidan Coyle
09dc864b0b
Fix eww-submit for forms with no action (bug#80918)
* 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
2026-05-11 23:06:27 +02:00
Elias Gabriel Perez
0e7a24d931 * lisp/progmodes/hideshow.el (hs--set-variable): Use 'set-local' (bug#80999) 2026-05-11 20:35:14 +03:00
Juri Linkov
f12b01582d Fix Completions buffer disappearing with tmm-menubar (bug#80995)
* 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*.
2026-05-11 20:30:15 +03:00
Michael Albinus
519fd83211 Fix secrets.el when Emacs is a flatpak
* doc/misc/dbus.texi (Flatpak integration): New chapter.

* lisp/net/secrets.el (top): Protect against wrong signals in the
flatpak case.  (Bug#80977)
2026-05-11 18:11:24 +02:00
Philip Kaludercic
9e4ea934f2
Fix 'prepare-user-lisp' to follow symlinks
* 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.
2026-05-11 15:36:58 +02:00
Philip Kaludercic
e613e38021
Update "timeout" to 2.1.6
See https://lists.gnu.org/archive/html/emacs-devel/2026-05/msg00033.html.
2026-05-11 15:31:06 +02:00
Dmitry Gutov
196fd80689 [GTK3, HiDPI] Fix width/height round-trip through ConfigureNotify
* src/gtkutil.c (xg_frame_set_char_size)
(xg_frame_set_size_and_position): Truncate WIDTH and HEIGHT to
be multiples of the scale factor (bug#80662).
2026-05-11 03:32:29 +03:00
Dmitry Gutov
acc07f1a03 [GTK3] On Expose, repaint the border before the content
* 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).
2026-05-11 02:03:30 +03:00
Pip Cet
5323eebcff Test read-passwd behavior (bug#80838)
* test/lisp/auth-source-tests.el (auth-source-test--displayed-string):
(auth-source-test-read-passwd):
(auth-source-test-read-passwd-revealed):
(auth-source-test-read-passwd-nested): New.
2026-05-10 20:00:41 +00:00
Pip Cet
01c5990dd0 Fix nested read-passwd calls (bug#80838)
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.
2026-05-10 20:00:41 +00:00
Augusto Stoffel
027043df25 ; * lisp/gnus/message.el (message-server-alist): Doc fix (bug#80880). 2026-05-10 19:19:05 +03:00
Eshel Yaron
66729f3e50
New variable 'completion-frontend-properties' (bug#80990)
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'.
2026-05-09 20:06:25 +02:00
Pip Cet
3b608b233e Fix terminal emulation of "ESC [ K" sequence
* lisp/term.el (term-erase-in-line): Don't immediately delete the
newly inserted characters.
2026-05-09 15:33:21 +00:00
Eli Zaretskii
6a605c65a8 Fix vertical-motion across overlay strings with embedded newlines
* src/indent.c (Fvertical_motion): Handle the case of an overlay
string on invisible text at point.  (Bug#80989)
2026-05-09 14:59:54 +03:00
Michael Albinus
e4d529c67b ; Fix last change
* doc/misc/gnus.texi (System Sleep Integration): Move @anchor up.

* etc/NEWS: gnus-dbus.el is obsolete.
Presentational fixes and improvements.

* lisp/gnus/gnus-start.el (gnus-close-on-sleep): Add :version.
(gnus-sleep-handler): Use `ignore-errors'.
2026-05-09 13:17:06 +02:00
Morgan Smith
d54faa0f1b Mark gnus-dbus.el as obsolete
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.
2026-05-09 12:50:23 +02:00
Morgan Smith
9bf2a19bb2 Move gnus-dbus.el to obsolete/gnus-dbus.el
* lisp/gnus/gnus-dbus.el: Move from here...
* lisp/obsolete/gnus-dbus.el: ...to here.
2026-05-09 12:50:12 +02:00
Morgan Smith
984024daf3 Gnus: Use new sleep library
* etc/NEWS: Announce.
* lisp/gnus/gnus-start.el: Don't require gnus-dbus.
(gnus-sleep-handler): New function.
(gnus-close-on-sleep): New variable.
(gnus-1): Add `gnus-sleep-handler' to
`system-sleep-event-functions' when `gnus-close-on-sleep' is
non-nil.
* doc/misc/gnus.texi: Update documentation.
2026-05-09 12:50:04 +02:00
Eli Zaretskii
d7c130972e ; * lisp/term/pgtk-win.el (icon-map-list): Fix :type. 2026-05-09 12:44:59 +03:00
Eli Zaretskii
5579893ed7 ; Don't block/unblock input in text_extents methods
* src/xftfont.c (xftfont_text_extents):
* src/ftcrfont.c (ftcrfont_text_extents): Don't block/unblock
input.  (Bug#80863)
2026-05-09 12:22:02 +03:00
Eli Zaretskii
547b1ee7b6 Fix Rmail behavior wrt globalized minor modes
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)
2026-05-09 12:01:07 +03:00
Eli Zaretskii
6ba05106f4 Fix display images in the display margins
* src/xdisp.c (handle_single_display_spec): Set the iterator face
to use 'margin' when displaying in the margins.  (Bug#80693)
2026-05-09 08:58:59 +03:00
João Távora
56f27dd9f0 Eglot: fix eglot--sig-info with non-UTF-32 positionEncoding
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.
2026-05-09 02:52:18 +01:00
Alan Third
543d8a7a9d [NS] Fix deprecated variable (bug#80985)
* src/nsterm.h (NSLevelIndicatorStyleContinuousCapacity): Define in
macOS < 10.15.
2026-05-08 14:07:56 +01:00
Sean Whitton
876a1db6ee Merge from origin/emacs-31
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)
2026-05-08 13:48:22 +01:00
Sean Whitton
2d496b842d ; Fix Gregor Schmid's attribution for lua-mode.el. 2026-05-08 13:47:52 +01:00
Sean Whitton
69c50dcb47 ; package-activate-all: Drop requiring package now not preloaded. 2026-05-08 12:27:24 +01:00
Dmitry Gutov
f94637749a vc-switch-working-tree: Use project-current again
* lisp/vc/vc.el (vc-switch-working-tree): Use project-current
instead of manually constructing VC project objects.
2026-05-08 12:25:49 +01:00
Michael Albinus
5e0b4b96bc ; Adapt files in admin/notes for emacs-31 branch
* admin/notes/emba: Mention scheduled pipelines.

* admin/notes/git-workflow: Adapt for emacs-31 branch.
2026-05-08 10:47:26 +02:00
Eli Zaretskii
730d3884dc ; Fix the build broken by a typo in configure.ac
* configure.ac (module_env_snippet_32): Fix typo.
2026-05-08 09:51:13 +03:00
Stéphane Marks
060451d6e0
treesit-explore-mode usability improvements (bug#80935)
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.
2026-05-07 21:35:46 -07:00
João Távora
48b064a2aa Fix 'vc-dir-resynch-file' again (bug#80967)
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.
2026-05-07 22:15:42 +01:00
Sean Whitton
90f8f27a58 Merge from origin/emacs-31
8d0bf280a6 ; * ChangeLog.5: Some fixes and tidying up.
1ec79b48f3 ; Update exported ChangeLog files and etc/AUTHORS
991f6100eb ; * admin/make-tarball.txt: Suggest load-file, not require.
3c6c3f5a69 ; Fix two file headers misunderstood by authors.el.
2026-05-07 20:15:39 +01:00
Sean Whitton
868fd126ae ; Merge from origin/emacs-31
The following commit was skipped:

311f1fe2ba Cut the emacs-31 release branch
2026-05-07 20:15:39 +01:00
Sean Whitton
8d0bf280a6 ; * ChangeLog.5: Some fixes and tidying up. 2026-05-07 20:14:12 +01:00
Sean Whitton
1ec79b48f3 ; Update exported ChangeLog files and etc/AUTHORS
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.
2026-05-07 20:08:43 +01:00
Sean Whitton
991f6100eb ; * admin/make-tarball.txt: Suggest load-file, not require. 2026-05-07 20:04:26 +01:00
Sean Whitton
3c6c3f5a69 ; Fix two file headers misunderstood by authors.el. 2026-05-07 20:04:04 +01:00
Sean Whitton
ddde687b3f ; * admin/admin.el (set-version): Fix punctuation. 2026-05-07 17:46:57 +01:00
Sean Whitton
0d287aa276 Bump master Emacs version to 32.0.50
* README:
* configure.ac:
* etc/refcards/ru-refcard.tex:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 32.0.50.
* etc/NEWS: Empty for Emacs 32.
* lisp/cus-edit.el (customize-changed-options-previous-release):
Set last version to 31.1.
* src/emacs-module.in.h (struct emacs_env_32): Add.
* src/module-env-31.h: Remove header comment.
* src/module-env-32.h: New file.
2026-05-07 17:46:43 +01:00
Sean Whitton
edd345c33f ; Move etc/NEWS to etc/NEWS.31. 2026-05-07 17:40:24 +01:00
Sean Whitton
311f1fe2ba Cut the emacs-31 release branch
* 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.
2026-05-07 17:38:20 +01:00
Zeke Dou
2f73996647 Move ns_init_colors() after init_callproc() (bug#80752)
'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
2026-05-07 17:32:02 +01:00
Eli Zaretskii
a9064bfdd9 ; * lisp/term/x-win.el (icon-map-list): Fix :type (bug#80982) 2026-05-07 19:05:39 +03:00
Jonas Bernoulli
f833e560c1
Update to Transient v0.13.3-10-g87d0ca08 2026-05-07 17:35:17 +02:00
Eli Zaretskii
4beb8e8963 Fix infloop in redisplay due to continuation glyphs
* src/xdisp.c (display_line): When inserting continuation glyphs,
account for the border glyph in non-rightmost windows on TTY
frames.  (Bug#80975)
2026-05-07 17:45:19 +03:00