Commit graph

182495 commits

Author SHA1 Message Date
Po Lu
7ffbf45886 Merge from savannah/emacs-31
916572f6e0 Fix the Android build
3801c09ae2 Don't resurrect invisible child frames when rebuilding pa...
e4350c538f Improve progress-reporter state to remove hard coded leng...
30df8657fb (tex-main-file): Add forgotten safety predicate (bug#81099)
35a82765bf Fix bug in latexenc when AUCTeX is loaded
e9d1367a32 paren.el: Fix part of bug#81035
fd1b5cd890 ; * test/lisp/files-tests.el (w32-downcase-file-names): D...
79391d3e19 ; * lisp/mouse.el (send-to--resolve-handler): Fix last ch...
eb1de3f585 ; Avoid rebuilding Emacs Lisp Intro when building release...
f26f2a832c ; Avoid byte-compilation warning in mouse.el
cf325876fa Adapt Tramp version
84556123eb ; * admin/make-tarball.txt: Update.
8f5b786cac Check buffer-local value in tramp-local-environment-varia...
2026-06-06 11:39:01 +08:00
Po Lu
a21e93b7e2 ; * doc/lispref/compile.texi (Speed of Byte-Code): Fix typo. 2026-06-06 11:38:49 +08:00
Po Lu
916572f6e0 Fix the Android build
* configure.ac: Don't test for libgccjit.h if a preceding test
have already concluded that native compilation is unavailable.
2026-06-06 11:38:04 +08:00
Paul Eggert
2f69971714 mpc-last-seek-time and mpc--faster are no longer used
* lisp/mpc.el (mpc-last-seek-time, mpc--faster):
Add a FIXME; should they be removed?
2026-06-05 19:16:29 -07:00
Paul Eggert
4fd59d0eba Omit a ‘/’ from org-clock-resolve
* lisp/org/org-clock.el (org-clock-resolve): Replace (floor (/ X
60)) with (floor X 60).
2026-06-05 19:16:29 -07:00
Paul Eggert
5eee9e239b Simplify gnus-backend-trace time calc
* lisp/gnus/gnus-int.el (gnus-backend-trace):
Simplify, since (float-time (time-since nil)) returns 0.0.
2026-06-05 19:16:29 -07:00
Paul Eggert
56b93016fc Simplify epa-ks--display-keys time calc
* lisp/epa-ks.el (epa-ks--display-keys):
Simplify by using time-less-p.  This also avoids a rounding error.
2026-06-05 19:16:29 -07:00
Paul Eggert
2dc98b69e0 format-seconds takes time values, not just numbers
* lisp/calendar/time-date.el (format-seconds): Document that the arg
can be any time value, and need not be a number.
This has been true for some time, but has not been documented.
Avoid some (but not all) rounding errors internally, and add a
comment about the remaining rounding error.
* lisp/emacs-lisp/timer-list.el (list-timers):
* lisp/org/org-timer.el (org-timer-show-remaining-time):
* lisp/org/ox.el (org-export--stack-generate):
* lisp/time.el (emacs-uptime): Omit unnecessary conversion of time
value that can increase rounding error.
* test/lisp/calendar/time-date-tests.el (test-format-seconds):
Test that format-seconds works on time values that are not numbers.
2026-06-05 19:16:29 -07:00
Paul Eggert
1b019b135b Avoid double-rounding in byte-code speed doc
* doc/lispref/compile.texi (Speed of Byte-Code):
Avoid some double-rounding in time calculations.
Modernize the timings.
2026-06-05 19:16:29 -07:00
Andrea Alberti
bf9a1e1f16 Fix respondsToSelector: selector for native fullscreen check
The two -respondsToSelector: guards in -[EmacsWindow
setParentChildRelationships] tested @selector(toggleFullScreen) without
the trailing colon, but the method is -toggleFullScreen:.  The colon-less
selector matches nothing, so the guarded code was always skipped.  This
is inert on modern builds (MAC_OS_X_VERSION_MIN_REQUIRED >= 1070, where
the check is #if'd out), but on a binary targeting pre-10.7 yet running
on 10.7+ it would wrongly skip taking a child frame out of native
fullscreen.

* src/nsterm.m ([EmacsWindow setParentChildRelationships]): Add the
missing colon to both @selector(toggleFullScreen:) checks.
2026-06-05 19:29:58 +01:00
Andrea Alberti
3801c09ae2 Don't resurrect invisible child frames when rebuilding parent links
On the NS port, -[EmacsWindow setParentChildRelationships] reattaches
every child frame to its parent via -addChildWindow:ordered:, which also
orders the child window onto the screen.  This runs whenever the
parent/child relationships are rebuilt, e.g., when entering non-native
fullscreen, which allocates a fresh EmacsWindow whose initializer
rebuilds the relationships.  A child frame that Emacs had made invisible
(e.g. a corfu/company completion popup) was thereby brought back as a
stale, non-responsive child frame.  Emacs never repaints to clear it
because frame_redisplay_p trusts FRAME_VISIBLE_P on the NS port and
avoids dealing with the child frame when it is marked as invisible.

Native fullscreen does not trigger this: -toggleFullScreen: hands off to
AppKit without allocating a new window, so the rebuild never runs.

A hidden child frame is normally detached from its parent already: Emacs
hides it with -orderOut: (ns_make_frame_invisible), which per Apple's
documentation removes a child window from its parent before ordering it
out.  The fix is therefore not to re-attach a child while it is
invisible; ns_make_frame_visible already reinstates the parent/child link
when the frame is shown again.

* src/nsterm.m ([EmacsWindow setParentChildRelationships]): Only
re-attach a child window when the frame is marked visible.
(ns_make_frame_visible): Explain, with a reference to Apple's
documentation, why the parent/child link must be reinstated on show.
2026-06-05 19:22:29 +01:00
Stefan Monnier
66e02b3123 (Fmarkers_in): New function (bug#81153)
* src/marker.c (Fmarkers_in): New function.
(syms_of_marker): Defsubr it.
* doc/lispref/text.texi (Replacing): Add markers-in.
* test/src/marker-tests.el (marker-markers-in): New test.
2026-06-05 14:04:22 -04:00
Stéphane Marks
e4350c538f Improve progress-reporter state to remove hard coded length (bug#80988)
Remove hard-coded state range, now a monotonically increasing
integer.

* lisp/subr.el (progress-reporter-update-functions): Update
docstring.
(progress-reporter-echo-area): Use
'progress-reporter--pulse-characters' length.
(progress-reporter-do-update): Increase 'state' by 1 each pass.
*
lisp/system-taskbar.el (system-taskbar--progress-reporter-update):
Make steps independent of 'progress-reporter-echo-area' steps.
2026-06-05 12:55:08 -04:00
Arash Esbati
30df8657fb (tex-main-file): Add forgotten safety predicate (bug#81099)
That variable is commonly set file-locally.

* lisp/textmodes/tex-mode.el (tex-main-file): Add safety predicate.
2026-06-05 12:52:00 -04:00
Al Haji-Ali
35a82765bf Fix bug in latexenc when AUCTeX is loaded
* lisp/international/latexenc.el
(latexenc-find-file-coding-system): Set file name correctly when
`TeX-master' is a string.  (Bug#81099)
2026-06-05 12:44:25 -04:00
Stefan Monnier
e9d1367a32 paren.el: Fix part of bug#81035
* lisp/paren.el (show-paren--default): Syntax-propertize before narrowing.
2026-06-05 12:43:43 -04:00
Sean Whitton
fd1b5cd890 ; * test/lisp/files-tests.el (w32-downcase-file-names): Declare. 2026-06-05 13:07:24 +01:00
Eli Zaretskii
79391d3e19 ; * lisp/mouse.el (send-to--resolve-handler): Fix last change. 2026-06-05 15:05:19 +03:00
Eli Zaretskii
eb1de3f585 ; Avoid rebuilding Emacs Lisp Intro when building release tarball
* make-dist (info_files): Include "*.png" images, which are used
in the doc/lispintro/ directory, and should be in the tarball.
This makes sure eintr.info will not need to be rebuilt on the
end-users' systems when a release tarball is being built, due to
the fact that PNG files are copied from doc/lispintro/ and are
thus newer than eintr.info that came with the tarball.  We don't
want to force rebuilding Info files when a release tarball is
built because users are not required to have Texinfo installed.
2026-06-05 14:42:58 +03:00
Eli Zaretskii
f26f2a832c ; Avoid byte-compilation warning in mouse.el
* lisp/mouse.el (send-to): Require, not only when compiling, as
'send-to--resolve-handler' is used at run time.
2026-06-05 14:35:34 +03:00
Michael Albinus
cf325876fa Adapt Tramp version
* lisp/net/trampver.el (customize-package-emacs-version-alist):
Add Tramp version integrated in Emacs 31.1.

* doc/misc/trampver.texi:
* lisp/net/trampver.el (tramp-version): Adapt Tramp versions.
2026-06-05 13:21:15 +02:00
Sean Whitton
84556123eb ; * admin/make-tarball.txt: Update. 2026-06-05 12:18:36 +01:00
Augusto Stoffel
8f5b786cac Check buffer-local value in tramp-local-environment-variable-p
* lisp/net/tramp.el (tramp-local-environment-variable-p): Do it.
2026-06-05 12:40:08 +02:00
Sean Whitton
921273999a ; Merge from origin/emacs-31
The following commits were skipped:

0ee48ac4df ; Update ldefs-boot.el.
4f4af26dd2 Bump Emacs version to 31.0.90
2026-06-05 11:19:07 +01:00
Sean Whitton
5e160e2784 Merge from origin/emacs-31
b8133a416d ; Update exported ChangeLog files and etc/AUTHORS
5e3e1a5bb2 ; Tweak some package short descriptions.
bbe805e4b1 message.el: Fix part of bug#81035
621239ae6a Fix prompt in remote shell
6df1d33b6c Fmake_xwidget: Use about:blank workaround only when needed
f3b17c4969 Allow brew/macports libgccjit for default native compilation
7226082f46 vc-dir-refresh: Respect non-essential wrt saving buffers
438af2764d ; * doc/lispref/text.texi (Mode-Specific Indent): Fix mar...
6b39919408 ; Fix typo in prog-indentation-context documentation (bug...
95ac082d5b Merge branch 'emacs-31' of git.savannah.gnu.org:/srv/git/...
3d9d9be3a1 CC Mode: Fontify a cast type preceding a brace initializa...
fe1c02d849 Fix Tramp distrobox integration
108710992d ; * doc/misc/ert.texi (erts files): Improve example (bug#...
0989625d36 markdown-ts-mode: fix first-item indent (bug#81118)
07e02917ee [GTK3] Re-fix the stored values for width and height
776ee085ff Eglot: mentions markdown-ts-view-mode less (bug#81150)
2d915236dc vc--subject-to-file-name: Fix over-greedy regex (bug#81017)
05f89d711d Fix more missing faces on ERC margin strings
3229d6f0e3 Eglot: Simplify markdown rendering support (bug#81150)
8855e88d74 ; Improve doc strings of brows-url commands
933d35ef10 ; * lisp/net/browse-url.el (browse-url-firefox-program): ...
2026-06-05 11:19:07 +01:00
Sean Whitton
e21d3af2f9 ; Merge from origin/emacs-31
The following commit was skipped:

f357a549ac Prevent segfaults due to frame resizing at the wrong time
2026-06-05 11:19:07 +01:00
Sean Whitton
0ee48ac4df ; Update ldefs-boot.el. 2026-06-05 10:57:06 +01:00
Sean Whitton
4f4af26dd2 Bump Emacs version to 31.0.90
* README:
* configure.ac:
* exec/configure.ac:
* java/AndroidManifest.xml.in (Version-code):
* msdos/sed2v2.inp:
* nt/README.W32: Bump Emacs version to 31.0.90.
2026-06-05 10:42:43 +01:00
Sean Whitton
b8133a416d ; Update exported ChangeLog files and etc/AUTHORS
* ChangeLog.5: Update.
* etc/AUTHORS: Regenerate.
2026-06-05 10:41:22 +01:00
Sean Whitton
5e3e1a5bb2 ; Tweak some package short descriptions. 2026-06-05 10:17:27 +01:00
Pip Cet
c1eb458d6b Avoid relying on FOR_EACH_TAIL internals in 'Fnthcdr' (bug#81115)
The new FOR_EACH_TAIL code detects simple cycles sooner than the old
code did, leading to integer overflows.

* src/fns.c (Fnthcdr): Avoid integer overflow if cycle is detected
early.
2026-06-04 20:45:34 +00:00
Pip Cet
0bef3c0e87 Improve FOR_EACH_TAIL (bug#81115)
* src/lisp.h (struct for_each_tail_internal): Reduce to two words.
(FOR_EACH_TAIL_BASIC): Add compiler hint to indicate that tail is most
likely Qnil after the loop and a non-nil non-cons is unlikely.
(FOR_EACH_TAIL_STEP_CYCLEP): Rewrite.
2026-06-04 20:45:34 +00:00
Pip Cet
de67c677fe * src/lisp.h (EQ): Use new 'likely' macro. 2026-06-04 20:45:34 +00:00
Pip Cet
0f6c382888 Make 'likely' macro available in all of Emacs (bug#81115)
* src/android.c (likely): Move ...
* src/conf_post.h (likely): ... here.  Ensure true values which aren't
equal to 1 are still predicted correctly.
2026-06-04 20:45:34 +00:00
Stefan Monnier
bbe805e4b1 message.el: Fix part of bug#81035
* lisp/gnus/message.el (message-narrow-to-field)
(message-hide-headers): Syntax-propertize before narrowing.
2026-06-04 14:20:06 -04:00
Michael Albinus
621239ae6a Fix prompt in remote shell
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Do not use a
hard-coded directory in PS1.  (Bug#81177)
2026-06-04 19:44:07 +02:00
Dirk-Jan C. Binnema
6df1d33b6c Fmake_xwidget: Use about:blank workaround only when needed
* src/process.c (glib_installs_sigchld_handler): New variable.
(init_process_emacs): Set it when GLib overrides Emacs's SIGCHLD
handler.
* src/process.h (glib_installs_sigchld_handler): Declare.
* src/xwidget.c (Fmake_xwidget): Skip the "about:blank"
workaround when glib_installs_sigchld_handler is false.
2026-06-04 15:35:18 +01:00
Eli Zaretskii
35f69be393 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2026-06-04 14:48:05 +03:00
Eli Zaretskii
8a00733af5 ; Fix last change
* lisp/plstore.el (plstore--decode, plstore--encode)
(plstore-get, plstore-find): Fix last change.  (Bug#81061)
2026-06-04 14:47:13 +03:00
Sean Whitton
0a8a5d4fad Don't query on exit for dir-status-files VC backend processes
* lisp/vc/vc-bzr.el (vc-bzr-dir-status-files):
* lisp/vc/vc-cvs.el (vc-cvs-dir-status-files):
* lisp/vc/vc-git.el (vc-git-dir-status-goto-stage):
* lisp/vc/vc-hg.el (vc-hg-dir-status-files):
* lisp/vc/vc-svn.el (vc-svn-dir-status-files): Set the
query-on-exit flag for the processes populating VC-Dir buffers
to nil.
2026-06-04 12:04:13 +01:00
JD Smith
f3b17c4969 Allow brew/macports libgccjit for default native compilation
* configure.ac: Move flag setup for libgccjit installed by
Homebrew or macports earlier, so default native compilation can
proceed (bug#81171).
2026-06-04 10:52:47 +01:00
Sean Whitton
7226082f46 vc-dir-refresh: Respect non-essential wrt saving buffers
* lisp/vc/vc-dir.el (vc-dir-refresh): If non-essential is
non-nil, don't call vc-buffer-sync-fileset.
2026-06-04 10:49:23 +01:00
Xiyue Deng
aa6acc69ed plstore: use 'plstore--has-secret-keys'
* lisp/plstore.el (plstore-find, plstore-get, plstore--encode)
(plstore--decode): Use 'plstore--has-secret-keys' to replace
manual check for existence of secret keys.  (Bug#81061)
2026-06-04 11:52:14 +03:00
Eli Zaretskii
438af2764d ; * doc/lispref/text.texi (Mode-Specific Indent): Fix markup. 2026-06-04 09:42:56 +03:00
Karl Stump
6b39919408 ; Fix typo in prog-indentation-context documentation (bug#81180)
Copyright-paperwork-exempt: yes
2026-06-04 09:42:08 +03:00
Eli Zaretskii
95ac082d5b Merge branch 'emacs-31' of git.savannah.gnu.org:/srv/git/emacs into emacs-31 2026-06-04 09:37:22 +03:00
Alan Mackenzie
3d9d9be3a1 CC Mode: Fontify a cast type preceding a brace initialization
This fixes bug#81084.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1):
In the test for a cast near the end of the function, add a test
for a {...} block which isn't a statement block, allowing such
blocks to be recognized as operands of casts.
2026-06-04 09:34:58 +03:00
Michael Albinus
fe1c02d849 Fix Tramp distrobox integration
* lisp/net/tramp.el (tramp-yesno-prompt-regexp): Fix docstring.
(tramp-yn-prompt-regexp): Fix docstring.  Extend.  Add :version.

* test/lisp/net/tramp-tests.el (tramp-test03-file-error): Adapt test.
2026-06-04 08:34:48 +02:00
Eli Zaretskii
108710992d ; * doc/misc/ert.texi (erts files): Improve example (bug#81154). 2026-06-04 09:25:21 +03:00
David Ponce
e6e79b1e09 Don't unconditionally append the :ascent property in wid-edit
* lisp/wid-edit.el (widget-toggle-value-create): Don't
duplicate the :ascent property if already set.  (Bug#81167)
2026-06-04 09:06:52 +03:00