1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-05 22:20:24 -08:00
Commit graph

180368 commits

Author SHA1 Message Date
Philip Kaludercic
c767928997
Only search for package descriptors in package root
See the following thread for a background on this change:
https://mail.gnu.org/archive/html/emacs-devel/2025-08/msg00332.html.
This change reverts b81f937e.

* lisp/emacs-lisp/package.el (package-dir-info): Do not
recursively try to find all Lisp files that might have package
metadata.  (Bug#79742)
2025-11-24 20:53:22 +01:00
Philip Kaludercic
c3604c3224
; Fix issue when installing packages from Dired
* lisp/emacs-lisp/package.el (package-dir-info, package-unpack):
Force Dired to return list of packages explicitly marked for
installation.  Without the optional argument, Dired will return
the file under the current point if no files are selected.
2025-11-24 20:53:22 +01:00
Philip Kaludercic
4ea81f359c
Replace underscores in bind-and* with fresh symbols
* lisp/emacs-lisp/cond-star.el (cond*-convert-condition): Bind
unused values to fresh symbols, to avoid the compiler warning
that a symbol starting with an underscore is accessed later on.
This mirrors the behaviour of `if-let*' and family.
2025-11-24 20:53:22 +01:00
Juri Linkov
33d813c63b Fix query-replace-regexp for using '^' with calculated replacement '\,'
* lisp/replace.el (replace--push-stack): Add new args
'next-replacement' and 'match-again' and push them to the stack.
(perform-replace): Restore the previous already calculated values
of 'next-replacement' and 'match-again' from the stack for the
'backup' ('^') key (bug#79811).

* test/lisp/replace-tests.el (query-replace-tests): Add tests.
2025-11-24 20:14:15 +02:00
Stefan Monnier
b852555401 Don't apply EditorConfig files to themselves
* lisp/international/mule.el (auto-coding-alist): Add entry for
`.editorconfig` files.
2025-11-24 11:42:27 -05:00
Sean Whitton
4cc42911ed Persist Log View mode marks across buffer revert
* lisp/vc/log-view.el (vc-exec-after): Autoload.
(log-view--restore-marks): New function.
(log-view-mode): Add it to revert-buffer-restore-functions.
2025-11-24 16:04:42 +00:00
Stefan Monnier
e233513d28 editorconfig-core-handle.el: Fix silent misparse
See https://github.com/editorconfig/editorconfig-emacs/issues/380

* lisp/editorconfig-core-handle.el (editorconfig-core-handle--parse-file):
Fix regexp to not inadvertently match LF.  Remove an O(N²) complexity.
Use `line-number-at-pos`.

* lisp/editorconfig.el (editorconfig--get-coding-system): Don't let
errors propagate.
2025-11-24 10:26:21 -05:00
Robert Pluim
cb2e9dd483 * doc/misc/efaq.texi (Spell-checkers): Update ispell URL.
(Bug#79872)

Reported by Geoff Kuenning <geoff@cs.hmc.edu>
2025-11-24 15:14:52 +01:00
Sean Whitton
188ad4f909 ; * src/keyboard.c (read_key_sequence): Style tweaks. 2025-11-24 10:57:54 +00:00
Stephen Gildea
1f2a161f93 ; * lisp/time-stamp.el: Reformat some doc strings. 2025-11-23 18:32:41 -08:00
Po Lu
860996afb0 ; * src/gtkutil.c (xg_update_dark_mode_for_all_displays): Typo. 2025-11-24 10:19:56 +08:00
Po Lu
7550791287 Support `toolkit-theme-set-functions' on Android and execute hooks safely
* java/org/gnu/emacs/EmacsNative.java (setEmacsParams): New arg
UIMODE.
(sendConfigurationChanged): New args DETAIL and UI_MODE.

* java/org/gnu/emacs/EmacsNoninteractive.java (main1): Provide
an undefined UI mode.

* java/org/gnu/emacs/EmacsService.java (EmacsService): New field
uiMode.
(onCreate): Initialize this field at start-up and provide the
same to setEmacsParams.
(onConfigurationChanged): If the UI mode has been altered,
generate a configuration changed event to match.

* src/android.c (android_ui_mode): New variable.
(setEmacsParams): New argument UI_MODE.  Initialize the same
from this variable.

* src/androidgui.h (enum android_configuration_changed): New
enum.
(struct android_configuration_changed_event): New field
`DETAIL'.  Convert fields providing specifics into a union of
display density information and a UI mode integer.

* src/androidterm.c (handle_one_android_event): Handle both
manners of configuration change events.
(android_term_init): Initialize Vtoolkit_theme from UI mode
provided at start-up.

* src/frame.c (syms_of_frame): Always define Vtoolkit_theme.
Define Qtoolkit_theme_set_functions.

* src/gtkutil.c (xg_update_dark_mode_for_all_displays):

* src/w32term.c (w32_read_socket): Generate special toolkit
theme events, rather than executing hooks directly within the
read_socket callback.

* src/keyboard.c (kbd_buffer_get_event)
<TOOLKIT_THEME_CHANGED_EVENT>: Run Qtoolkit_theme_set_functions
and set Vtoolkit_theme from event->ie.arg.

* src/termhooks.h (enum event_kind): New event
TOOLKIT_THEME_CHANGED_EVENT.
2025-11-24 10:16:49 +08:00
Stephen Gildea
435c3948a4 ; * lisp/time-stamp.el: Minor code changes
autoloads: quote function names with #'
(time-stamp-filtered-buffer-file-name): 'member' -> 'memq'
(time-stamp-conv-warn): don't call the formats "forms".
2025-11-23 18:11:18 -08:00
Sean Whitton
11b68c6223 New commands to rewind decentralized VCS branches
* lisp/vc/vc.el (vc--remove-revisions-from-end): New function.
(vc-uncommit-revisions-from-end, vc-delete-revisions-from-end):
* lisp/vc/log-view.el (log-view-uncommit-revisions-from-end)
(log-view-delete-revisions-from-end): New commands (bug#79408).
(log-view-mode-map): Bind them.
* doc/emacs/maintaining.texi (VC Change Log):
* doc/emacs/vc1-xtra.texi (VC Auto-Reverting):
* etc/NEWS: Document them.
2025-11-23 18:36:22 +00:00
Ulf Jasper
dcc909917b Add 'newsticker--treeview-handle-url' (Bug#79849)
* lisp/net/newst-treeview.el (newsticker--treeview-url-keymap)
(newsticker--treeview-handle-url): Add 'newsticker--treeview-handle-url'
to replace 'newsticker-handle-url' in newsticker-treeview (Bug#79849).
2025-11-23 13:58:43 +01:00
Eli Zaretskii
b89fec7998 ; * doc/emacs/package.texi (Package Installation): Minor clarification. 2025-11-23 10:41:12 +02:00
Eli Zaretskii
bb1f70c901 Fix 'd' command in 'query-replace' in buffers not visiting files
* lisp/vc/diff.el (diff-file-local-copy): Use proper coding-system
when writing a local copy of a non-file visiting buffer.

* lisp/misearch.el (coding-system--for-buffer-diff): New variable.
(multi-file-replace-as-diff): Bind it to 'utf-8-emacs'.
(multi-file-diff-no-select): Use proper coding-system when reading
output of Diff.  (Bug#79761)
2025-11-23 10:33:49 +02:00
Elías Gabriel Pérez
6c30c6c87d ; hideshow: Rename 'hs--discard-overlay-after-change'.
* lisp/progmodes/hideshow.el (hs--discard-overlay-after-change):
Rename function and update docstring.
(hs-make-overlay): Update.
2025-11-23 09:48:27 +02:00
Sean Whitton
cd86307f26 vc-resynch-window: Restore always using vc-revert-buffer-internal
* lisp/vc/vc-dispatcher.el (auto-revert-buffers): Delete.
(vc-resynch-window): Always call vc-revert-buffer-internal.
Calling auto-revert-buffers will not necessarily revert the
current buffer, but we want it to happen synchronously.
2025-11-22 13:50:22 +00:00
Stefan Monnier
24c09c68dd lisp/ldefs-boot.el: Update generated presumably by lisp/Makefile.in (?) 2025-11-22 08:44:40 -05:00
Sean Whitton
75c09b03ed Default split-window-preferred-direction to 'longest'
* lisp/window.el (split-window-preferred-direction): Change
default value to 'longest'.
2025-11-22 13:20:05 +00:00
Sean Whitton
54775983ac vc-git-revision-published-p: Resolve REV
* lisp/vc/vc-git.el (vc-git-revision-published-p): Resolve REV
before using it, using vc-git--rev-parse.
2025-11-22 12:46:16 +00:00
Sean Whitton
748c3b2645 New command alias vc-restore
* lisp/vc/vc.el (vc-restore): New alias.
* etc/NEWS: Announce it.
2025-11-22 12:45:55 +00:00
Stefan Monnier
46d0f1fef1 (loaddefs-generate--make-autoload): Fix bug#79852
As JD Smith <jdtsmith@gmail.com> said we had 3 paths:

1. macro has `autoload-macro expand` and is already loaded: expand
2. macro has `autoload-macro expand` but is /not/ yet loaded: shortcut
3. macro does not have `autoload-macro expand`: shortcut

and the co-existence of 1 and 2 is a problem because it means
that same macro is sometimes handled one way and sometimes
another, with different results.
Remove number 2 by removing from the shortcut all the remaining
macros that have `autoload-macro expand`.

The immediate effect is that `make autoloads` now (auto)loads three
more files:

    [...]
    loaddefs-gen: loading file frameset (for cl-defun)
    Loading frameset...
      INFO     Scraping 1547 files for loaddefs...10%
      INFO     Scraping 1547 files for loaddefs...20%
    loaddefs-gen: loading file semantic/analyze (for define-overloadable-function)
    Loading semantic/analyze...
      INFO     Scraping 1547 files for loaddefs...30%
      INFO     Scraping 1547 files for loaddefs...40%
      INFO     Scraping 1547 files for loaddefs...50%
      INFO     Scraping 1547 files for loaddefs...60%
      INFO     Scraping 1547 files for loaddefs...70%
    loaddefs-gen: loading file tramp-adb (for tramp--with-startup)
    Loading tramp-adb...
      INFO     Scraping 1547 files for loaddefs...80%
    loaddefs-gen: loading file grep (for define-compilation-mode)
    Loading grep...
    [...]

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs--defining-macros):
Remove macros that are marked `autoload-macro expand`, even if they are
not predefined.
(loaddefs-generate--make-autoload): Simplify accordingly.
2025-11-22 06:56:46 -05:00
Stefan Monnier
b193a78a6f (loaddefs--defining-macros): Weed out a few more entries
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs--defining-macros):
Remove `define-skeleton`, `define-derived-mode`, and
`define-generic-mode` since their `autoload-macro expand` property is
now preloaded.
2025-11-22 06:56:46 -05:00
Stefan Monnier
10961728dc : Update ldefs-boot.el 2025-11-22 06:56:46 -05:00
Stefan Monnier
74087e252f loaddefs-gen: Weed out some elements from the shortcut path
The predefined macros marked as `autoload-macro expand` can't
get to the shortcul path, so simplify it accordingly.
Mark a few more macros from the shortcut path as `autoload-macro expand`
but don't remove them yet from the shortcut path (need to update
`ldefs-boot.el`).

* lisp/progmodes/compile.el (define-compilation-mode):
* lisp/emacs-lisp/generic.el (define-generic-mode):
* lisp/emacs-lisp/derived.el (define-derived-mode):
* lisp/cedet/mode-local.el (define-overloadable-function):
* lisp/skeleton.el (define-skeleton): Mark as `autoload-macro expand`
so as to make the "shortcut" path in `loaddefs-gen.el` redundant.

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs--defining-macros):
Remove the easy-mmode.el macros since they are already marked as
`autoload-macro expand` and they are always defined, so we never check
them against that list.
(loaddefs-generate--make-autoload): Remove handling of the
`easy-mmode.el` macros as well as `defun` and `defmacro` from the
shortcut path since we can never get there with them anyway.
2025-11-22 06:56:46 -05:00
Michael Albinus
dbd2cd2516 Adapt etc/NEWS
* etc/NEWS: Shrink Zone entry.
Presentational fixes and improvements.
2025-11-22 12:42:46 +01:00
Eli Zaretskii
2fcf431c67 Merge from origin/emacs-30
e262ed18f9 ; * admin/notes/spelling: Copy note on possessive from CO...
2025-11-22 06:36:45 -05:00
Reuben Thomas
e1f851e840 Fix ispell’s handling of comment-end when adding local words
* lisp/textmodes/ispell.el (ispell-add-per-file-word-list): Deal
with `comment-end' in a way that works for comments that don’t
nest.

We proceed as follows: when `comment-end' is non-empty, we only
ever insert one start and one end comment, the first time we add
a local word.  This works with both C-style (which don’t nest)
and Rust-style comments (which do).

If we’re using line comments (i.e. comments that only have a
`comment-start'), then continue to insert one on each line.

* test/lisp/textmodes/ispell-tests/ispell-tests.el
(ispell/ispell-add-per-file-word-list/nxml): Adjust test.

Bug#79871
2025-11-22 13:15:45 +02:00
Eli Zaretskii
0762d9b4de Fix documentation of 'alpha-background' frame parameter
* doc/lispref/frames.texi (Font and Color Parameters): Fix
documentation of values of 'alpha-background'.  Suggested by Jacob
S. Gordon <jacob.as.gordon@gmail.com>.  (Bug#79861)
2025-11-22 13:08:41 +02:00
john muhl
959e67ec4f Fix non-interactive use of 'lua-start-process'
* lisp/progmodes/lua-mode.el (lua-process-init-code): Add newline.
(lua-start-process): Use 'process-send-string' to avoid starting
two processes.  Flatten 'switches' argument since rest arguments
get added to a list.  Replace 'switch-to-buffer' with
'pop-to-buffer' so that the process window behavior can be
customized with 'display-buffer-alist'.  Expand docstring and
update it to match the code.  (Bug#79853)
2025-11-22 13:03:24 +02:00
Protesilaos Stavrou
dd1d85ebdd Make Flymake fringe indicators use dedicated faces
* lisp/progmodes/flymake.el (flymake-error-bitmap)
(flymake-warning-bitmap, flymake-note-bitmap): Define new faces.
(flymake-error-fringe, flymake-warning-fringe)
(flymake-note-fringe): Use the new faces by default.
(Bug#79785)
2025-11-22 13:01:18 +02:00
Ahmed Khanzada
bc0f662573 Add `toolkit-theme' and 'toolkit-theme-set-functions'
* etc/NEWS: Document `toolkit-theme' and
'toolkit-theme-set-functions'
* lisp/frame.el: Add 'toolkit-theme-set-functions'
* src/frame.c: Add `toolkit-theme' Elisp variable
* src/gtkutil.c: (xg_update_dark_mode_for_all_displays): Set
`toolkit-theme' and call 'toolkit-theme-set-functions'
* src/w32fns.c: (w32_applytheme): Send WM_EMACS_SET_TOOLKIT_THEME
message to Lisp thread.
* src/w32term.h: Declare WM_EMACS_SET_TOOLKIT_THEME
* src/w32term.c: (w32_read_socket): Receive
WM_EMACS_SET_TOOLKIT_THEME message and set `toolkit-theme' and call
'toolkit-theme-set-functions'
2025-11-22 12:57:53 +02:00
Eli Zaretskii
1cfd0cf0bd ; Fix last change
* doc/lispref/variables.texi (Selecting Lisp Dialect): Update due
to bug#79760.
2025-11-22 12:56:40 +02:00
Pip Cet
e5130bdecc The --script option now enforces lexical binding (bug#79760)
* etc/NEWS: Document the change.
* lisp/startup.el (command-line--load-script): Set 'lexical-binding';
if we delete the first line, insert a new line to preserve line
numbers.
(command-line--eval-script): Set 'lexical-binding'.
2025-11-22 10:45:56 +00:00
Eli Zaretskii
e2799739a5 ; * admin/authors.el (authors-aliases): Add Huang Jing. 2025-11-22 12:06:56 +02:00
RadioNoiseE
ce0d851614 Fix XML indentation for CDATA section content
* lisp/nxml/nxml-mode.el (nxml-merge-indent-context-type):
Handle 'cdata-section' type to prevent it from returning 'mixed'.
* lisp/nxml/nxml-mode.el (nxml-compute-indent-in-delimited-token):
Preserve existing indentation for CDATA section content.
(bug#79817)

Copyright-paperwork-exempt: yes
2025-11-22 12:03:16 +02:00
Ana
dfa646096a csharp-mode : Fix typos and remove duplicated declaration
* lisp/progmodes/csharp-mode.el (csharp-vsemi-unknown): Rename
to 'csharp-vsemi-unknown-p'.  The code was calling a function that
does not exist due to this typo.
(c-class-decl-kwds): Remove duplicated declaration for csharp.
(csharp-ts-mode--font-lock-settings): Remove duplicated declaration
of 'escape-sequence'.
2025-11-22 11:53:22 +02:00
Martin Rudalics
b728f50e1f Fix thinko in 'window_set_parent_and_normal_sizes'
* src/window.c (window_set_parent_and_normal_sizes): When
assigning normal sizes in a combination, take the direction from
its parent's 'horizontal' slot and not from that of the first
window in the combination.
2025-11-22 10:12:37 +01:00
Po Lu
32fc382e9e Disable C23 for Android builds
* configure.ac (ac_cv_prog_cc_c23): Define to no when
configuring for Android.
2025-11-21 10:01:10 +08:00
Po Lu
386e4642dc * lib/strnlen.c (strnlen): Fix syntax error in Gnulib module. 2025-11-21 09:49:44 +08:00
Sean Whitton
37d4f523d3 ; * lisp/vc/vc.el (vc-revert): Use length< and ngettext. 2025-11-20 20:54:56 +00:00
Sean Whitton
0bf1eb692b Fix '(vc-revert-file (vc-git-root)'
* lisp/vc/vc-git.el (vc-git--file-list-is-rootdir):
Merge into vc-git-command.
(vc-git-command): When operating on the repository root, first
bind default-directory to that root.  When operating on the
repository root with 'git checkout', pass "." as FILE-OR-LIST.
2025-11-20 20:42:21 +00:00
Sean Whitton
896449d65a ; * test/lisp/vc/vc-tests/vc-test-misc.el: Fix compiler warnings. 2025-11-20 20:39:37 +00:00
Paul Eggert
c230dfdc26 A few more functions are not pure
Assuming ATTRIBUTE_PURE means that the function must return,
a few more functions that should not be declared with ATTRIBUTE_PURE.
The GCC manual (and even the C23 standard, with [[reproducible]])
is not clear about this, and it’s better to be safe.
* src/bignum.h (mpz_get_d_rounded):
* src/lisp.h (bignum_to_double):
No longer pure, as it does not return if memory is exhausted.
* src/fns.c (Fproper_list_p): No longer pure, as it does not
return if the user quits.
* src/gnutls.c (Fgnutls_errorp): No longer pure, as it does not
return if it runs into an eassert failure in XSYMBOL_WITH_POS via EQ.
* src/lisp.h (bignum_to_intmax, bignum_to_uintmax, bignum_bufsize):
No longer pure, as it does not return if it runs into an
eassert failure in XBIGNUM via xbignum_val.
2025-11-20 12:04:01 -08:00
Paul Eggert
918b9f04f4 Prefer C23 support if available
This merges in changes that were made to Autoconf master
in April 2024.  It causes ‘configure’ to prefer the C compiler to
enable C23 features if possible; otherwise, ‘configure’
behaves as before, using C11 if available and C99 if not.
* admin/merge-gnulib (GNULIB_MODULES): Add std-gnu23.
(AVOIDED_MODULES): Add (i.e., start avoiding) std-gnu11.
* m4/std-gnu11.m4: Remove.
* m4/std-gnu23.m4: Add.
2025-11-20 11:14:03 -08:00
Juri Linkov
f4d353f9c9 Show the diff buffer with replacements by typing 'd' in 'query-replace'
* doc/emacs/search.texi (Query Replace): Mention new key 'd'.

* lisp/replace.el (query-replace-help): Mention the key 'd'.
(query-replace-map): Bind the key 'd' to 'diff'.
(perform-replace): When 'def' is equal to 'diff',
call 'multi-file-replace-as-diff' to show the diff buffer
with replacements (bug#79761).
2025-11-20 20:39:29 +02:00
Juri Linkov
ae5c361d32 Support buffers in FILES arg of multi-file-replace-as-diff (bug#79761)
* lisp/misearch.el (multi-file-replace-as-diff): Allow providing
a list of buffers in the argument FILES.  Add autoload cookie.
(replace-regexp-as-diff): Provide the current buffer to
'multi-file-replace-as-diff' when 'buffer-file-name' is nil.
2025-11-20 20:31:12 +02:00
Sean Whitton
17f9a6355d ; * etc/NEWS: Expand on showing warnings on first daemon frame. 2025-11-20 18:19:37 +00:00