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

180072 commits

Author SHA1 Message Date
Dominik Schrempf
99a787a451 ; Fix description of use-package :custom keyword
Copyright-paperwork-exempt: yes
2025-11-07 15:21:39 +00:00
Jacob S. Gordon
c1e8fc3069 ; Add missing defcustom types in eshell and eww (bug#79607)
* lisp/eshell/esh-mode.el (eshell-scroll-to-bottom-on-input)
(eshell-scroll-to-bottom-on-output): Add t as a choice.
* lisp/net/eww.el (eww-restore-desktop): Add 'auto' as a choice.
2025-11-07 15:10:57 +00:00
Sean Whitton
816830d921 vc-start-logentry: Disable log-edit-hook when finishing immediately
* lisp/vc/vc-dispatcher.el (log-edit-hook): Declare.
(vc-start-logentry): Bind log-edit-hook to nil when finishing
the log edit immediately with a caller-supplied message.
2025-11-07 12:46:55 +00:00
Sean Whitton
68e337e630 Don't discard empty string arguments from emacsclient
* lisp/server.el (server--process-filter-1): Don't discard empty
string arguments from emacsclient.
(server-eval-args-left):
* doc/emacs/misc.texi (emacsclient Options):
* etc/NEWS: Document the change.
2025-11-07 12:33:21 +00:00
Protesilaos Stavrou
be527b5704
Update modus-themes to version 5.1.0
* doc/misc/modus-themes.org (Build on top of the Modus themes):
Bump the version number.
(Acknowledgements): Include more names in the Acknowledgements
section.
* etc/themes/modus-themes.el (modus-themes--activate)
(modus-themes-get-all-known-themes, modus-themes-known-p)
(modus-themes--list-enabled-themes)
(modus-themes-get-current-theme)
(modus-themes--get-theme-palette-subr)
(modus-themes-get-theme-palette, modus-themes-faces)
(modus-themes-theme)
(modus-themes--with-colors-resolve-palette-sort)
(modus-themes-with-colors-subr, modus-themes-with-colors):
Ensure that the modus-themes-with-colors macro works the way it
did before, namely, 'let' binding the current theme's palette.
2025-11-07 08:00:39 +02:00
Po Lu
aba7974607 * configure.ac Remove patch for bugs in nproc that have been remediated. 2025-11-07 09:36:08 +08:00
Paul Eggert
eb69aca760 Update from Gnulib by running admin/merge-gnulib 2025-11-06 14:35:21 -08:00
Paul Eggert
50a1929f6c Update from Gnulib by running admin/merge-gnulib 2025-11-06 12:12:24 -08:00
Paul Eggert
7654ec5e95 Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (GNULIB_MODULES): Add stdio-windows.
Also, sort and remove duplicates.
2025-11-06 12:02:53 -08:00
Mattias Engdegård
0c694624c3 * test/src/comp-tests.el (setcarcdr): Don't mutate literals. 2025-11-06 16:22:13 +01:00
Sean Whitton
bd4ac3b23b Fixes to echo area messages when creating Log Edit mode buffers
* lisp/vc/log-edit.el (log-edit): Don't emit a message when
MODE.
* lisp/vc/vc-dispatcher.el (vc-start-logentry): Use '\\<>' to
simplify the code slightly.
2025-11-06 14:34:24 +00:00
Robert Pluim
3035e44b9a Improve error message for invalid key syntax
* lisp/keymap.el: (keymap--compile-check, define-keymap--compile):
Mention 'key-valid-p' rather than 'kbd'.
2025-11-06 14:27:36 +01:00
Sean Whitton
8b241f93b7 project-compile: Ignore compile-command from vc-compilation-mode
* lisp/progmodes/project.el (project-compile): Ignore
compile-command from vc-compilation-mode (bug#79658).
* lisp/vc/vc-dispatcher.el (vc-compilation-mode-hook): New
variable.
(vc-compilation-mode): Promote to its own derived mode.  Don't
use define-derived-mode in order to preserve the BACKEND
argument to this function.  Don't give it its own major mode
map, et cetera, for now.
2025-11-06 12:57:35 +00:00
Sean Whitton
fba8b3dfb0 ; * lisp/subr.el: Fix comment level. 2025-11-06 12:56:50 +00:00
Andrea Corallo
55d41f5d2b * Fix native compiler for circular objects (bug#75135)
* lisp/emacs-lisp/comp.el (comp--ssa-rename-insn): Fix circular objects.
2025-11-06 09:41:36 +01:00
Elías Gabriel Pérez
cc589d7003 hideshow: Rework previous changes
* doc/emacs/programs.texi (Hideshow):
* etc/NEWS: Fix doc.
* lisp/progmodes/hideshow.el: Update Commentary Header.
(hs-modes-alist): Remove.
(hs--get-mode-value, hs-grok-mode-type): Rework.
* lisp/treesit.el (treesit-major-mode-setup):
* lisp/emacs-lisp/lisp-mode.el:
* lisp/nxml/nxml-mode.el:
* lisp/progmodes/cc-mode.el:
* lisp/progmodes/f90.el:
* lisp/progmodes/fortran.el:
* lisp/progmodes/hideshow.el:
* lisp/progmodes/icon.el:
* lisp/progmodes/js.el:
* lisp/progmodes/lua-mode.el:
* lisp/progmodes/python.el:
* lisp/progmodes/verilog-mode.el:
* lisp/progmodes/vhdl-mode.el:
* lisp/textmodes/bibtex.el:
* lisp/textmodes/mhtml-mode.el:
* lisp/textmodes/sgml-mode.el:
* lisp/treesit.el: Fix and rework previous changes.
2025-11-06 09:41:12 +02:00
Juri Linkov
2c41bfabbc Don't move point when clicking on hideshow fringe/margin indicator
* lisp/progmodes/hideshow.el (hs-indicator-mouse-toggle-hidding):
Enclose in 'hs-life-goes-on' (bug#79585).
Suggested by Elijah Gabe Pérez <eg642616@gmail.com>.
2025-11-06 09:31:06 +02:00
Eli Zaretskii
d6402072f2 A better fix for recent changes in Gnulib's acl_entries.c
See https://lists.gnu.org/archive/html/emacs-devel/2025-11/msg00145.html
for the related discussions.
* nt/mingw-cfg.site (ac_cv_func_acl_entries): Set to "yes" to
disable compilation of lib/acl_entries.c on MinGW.

* lib/acl_entries.c (acl_entries): Revert last change, as it is no
longer needed.
2025-11-06 08:36:50 +02:00
Eli Zaretskii
58a2c2494d ; * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Doc fix. 2025-11-06 08:01:32 +02:00
Stefan Monnier
34ab8abdd2 (loaddefs-generate--emacs-batch): Chdir to lisp-directory
Chdir once and for all at the beginning to simplify the code.
Eliminate some redundant `expand-file-name`s and fix a broken use
of `expand-file-name` where we passed a list as second arg.

* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Rename DIR to
DIRS, to clarify that it can be a list.  Use `ensure-list`.
Don't pass DIR(S) directly to `expand-file-name`.
Remove redundant `expand-file-name`.
(loaddefs-generate--excluded-files): Add sanity checks.
Return relative file names since `loaddefs-generate` will make them
absolute anyway.  Simplify.
(loaddefs-generate--emacs-batch): Chdir to `lisp-directory` and
simplify the rest accordingly.
2025-11-05 15:14:45 -05:00
Stefan Monnier
02253b35af (load-history, lisp-directory): Don't file-truename
This fixes problems in some cases of out-f-tree builds
(bug#79694, bug#62099, bug#64806).

The use of true names in `load-history` dates back to to commits
33d74677e7 and 6bb6da3ec1 by Alan Mackenzie <acm@muc.de> in
May 24 2006, but that was reverted by Paul Eggert's commit
dff4f9c759 on Sep 18 2019.

* lisp/startup.el (command-line): Don't `file-truename` `lisp-directory`.
* src/lread.c (syms_of_lread) <load-history>: Adjust docstring,
to reflect the fact that the files there aren't "true names".

* doc/lispref/loading.texi (Hooks for Loading): Adjust accordingly.
Also massage the text to reflect the fact that nowadays features are
more common than file names as arguments to `with-eval-after-load`.
2025-11-05 15:12:50 -05:00
Juri Linkov
b34040302f * lisp/image.el (image-supported-file-p): Fix autoload cookie (bug#79764).
* lisp/emacs-lisp/icons.el (icons--create):
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data):
Remove unnecessary '(fboundp 'image-supported-file-p)'.
2025-11-05 19:54:56 +02:00
Eli Zaretskii
9e905357bb Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2025-11-05 18:57:27 +02:00
Eli Zaretskii
eb81318526 ; * doc/emacs/help.texi (Misc Help): Improve and extend wording. 2025-11-05 18:56:41 +02:00
Sean Whitton
78bcd4394c ; * lisp/subr.el (if-let*): Use "Lisp programmers". 2025-11-05 16:49:24 +00:00
Mattias Engdegård
8815194ea6 Unify constants that are equal-including-properties in compiler
This results in a healthy reduction of .elc file size (> 300 KiB saved)
as well as less memory use.

* lisp/emacs-lisp/bytecomp.el (byte-compile-get-constant):
Use 'equal-including-properties' as equivalence relation for all
constants, not just strings.
* etc/NEWS: Mention it.  Strictly speaking it's not an incompatible
change because it doesn't break any earlier promises, but for people
having code that made incorrect assumptions, this provides a useful
explanation.
2025-11-05 17:44:51 +01:00
Sean Whitton
ef1dfdc663 Further document cond*'s bind-and*, document cond-let* discussion
* doc/lispref/control.texi (Conditionals): Pointer to cond*'s
bind-and* clauses for Lisp programmers looking for a cond-let*.
(cond* Macro): Document bind-and* clauses.
* lisp/subr.el: Comment summarizing recent discussion, for
future Emacs developers wondering about cond-let*.
2025-11-05 16:07:56 +00:00
Eli Zaretskii
d3101630ab Unbreak MinGW build broken by Gnulib merge
* lib/acl_entries.c (acl_entries): Make it no-op for MinGW, as it
was before.  Without this, acl_entries doesn't compile on MinGW.

* nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_issymlink)
(OMIT_GNULIB_MODULE_issymlinkat): Disable these Gnulib modules.
2025-11-05 17:51:42 +02:00
Elías Gabriel Pérez
e7505ca213 Add option to auto-refresh the lossage buffer. (Bug#79732)
* lisp/help.el (view-lossage-auto-refresh): New user option.
(help--lossage-update): New variable.
(help--lossage-make-recent-keys, help--refresh-lossage-buffer):
New functions.
(view-lossage): Rework.
* doc/emacs/help.texi (Misc Help):
* etc/NEWS: Document change.
2025-11-05 09:17:51 +02:00
Juri Linkov
2f6e5d2eda * test/lisp/emacs-lisp/map-ynp-tests.el: Use 'eval-expression-debug-on-error'.
(test-map-ynp-kmacro): Bind 'eval-expression-debug-on-error' to nil
instead of silencing 'backtrace-print'.
2025-11-05 09:15:05 +02:00
Po Lu
e54fd7c012 Fix compilation on Android SDK 20 and earlier
* configure.ac (gl_PREREQ_NPROC): Disable ac_cv_header_mntent_h
if on Android and setmntent is not declared.
2025-11-05 11:10:11 +08:00
Po Lu
240355949e Fix the Android port
* configure.ac (gl_cv_onwards_func_tzalloc): Don't disable on
Android SDK 35.

* src/conf_post.h (tzalloc): Don't override Gnulib-selected
identifier on Android SDK 35.
2025-11-05 10:32:52 +08:00
Po Lu
abcc099c73 Fix the MS-DOS port and reading of symlink targets
* doc/misc/eglot.texi (Eglot Features): Add comma after @xref.

* msdos/sed2v2.inp (GNULIB_ISSYMLINK): Define to 1.

* msdos/sedlibmk.inp (HAVE_RANDOM_H): Undefine, in line with its
deletion from gnulib.mk.
(GL_GNULIB_STRINGEQ): Define to 1.

* src/msdos.c (careadlinkat): NULL terminate at the end of the
data written, not one character beyond the same.
2025-11-05 10:06:23 +08:00
Paul Eggert
6ab56a31a5 Simplify tzfree use
* src/timefns.c (Fdecode_time, Fencode_time)
(Fcurrent_time_string): Do not bother to preserve errno around
tzfree calls, as Gnulib now does that for us.
2025-11-04 13:32:58 -08:00
Paul Eggert
59fbaca6b9 Update from Gnulib by running admin/merge-gnulib
* admin/merge-gnulib (GNULIB_MODULES): Add stringeq.
With current Gnulib it is already present as in indirect dependency;
listing it here because Emacs now depends on it directly.
* lib-src/ebrowse.c, lib-src/etags.c:
(streq): Remove, as Gnulib defines this now.
* lib/fseterr.c, lib/fseterr.h, lib/issymlink.c, lib/issymlink.h:
* lib/issymlinkat.c, lib/stdio-consolesafe.c, lib/string.c:
* m4/fseterr.m4, m4/gettext_h.m4, m4/stringeq.m4:
New files from Gnulib.
* src/conf_post.h (tzfree) [__ANDROID_API__ >= 35]: Remove.
2025-11-04 13:32:58 -08:00
Philip Kaludercic
327c16ce14
Add support for 'bind-and*' patterns to 'cond*'
* lisp/emacs-lisp/cond-star.el (cond*): Document 'bind-and*'.
(bind-and*): Add a stub to raise an error if 'bind-and*' is used
outside of 'cond*'.
(cond*-convert-condition): Implement a new type of condition.
2025-11-04 20:45:39 +01:00
Juri Linkov
89f0853f1e Use 'read-char-choice' in 'ask-user-about-lock' (bug#79664)
* lisp/userlock.el (ask-user-about-lock): Use 'read-char-choice'
instead of 'read-char'.

* lisp/subr.el (read-char-choice-with-read-key): Add fallback
cond-branch to show a message with required keys.
2025-11-04 20:03:44 +02:00
Eli Zaretskii
d9ddf0d075 ; Fix documentation of a recent change
* lisp/progmodes/python.el (python-ts-hs-adjust-block-end-fn):
* lisp/progmodes/hideshow.el (hs-modes-alist)
(hs-adjust-block-end, hs-inside-comment-p-func): Doc fixes.
(bug#79671)
2025-11-04 20:00:39 +02:00
Eli Zaretskii
447bb6ef5c Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2025-11-04 19:45:10 +02:00
Juri Linkov
2bec93b5f4 * test/lisp/emacs-lisp/map-ynp-tests.el: Silence backtrace.
(test-map-ynp-kmacro): Ignore 'backtrace-print' that prints
unrequested backtrace (bug#67836).
2025-11-04 19:23:55 +02:00
Elías Gabriel Pérez
959345f602 hideshow: Rewrite 'hs-special-modes-alist'
Rewrite the format in 'hs-special-modes-alist' to make easier to
exclude some values, add support for settings inheritance
according to current major mode and parents, and support string
hiding for lisp modes.

Bug#79671

* lisp/progmodes/hideshow.el (hs-modes-alist): New variable.
(hs-special-modes-alist): Mark as obsolete.
(hs-forward-sexp-func, hs-adjust-block-beginning)
(hs-find-block-beginning-func, hs-find-next-block-func)
(hs-looking-at-block-start-p-func): Set default values to nil.
(hs-inside-comment-p): Remove function.
(hs-adjust-block-end, hs-treesit-things): New buffer-local
variables.
(hs-block-positions): Minor updates.
(hs--get-mode-value): New function.
(hs-grok-mode-type): Rewrite.
* lisp/progmodes/f90.el (hs-special-modes-alist):
* lisp/progmodes/fortran.el (hs-special-modes-alist):
* lisp/progmodes/icon.el (icon-mode):
* lisp/progmodes/lua-mode.el (lua-mode):
* lisp/progmodes/python.el (python-base-mode):
* lisp/progmodes/verilog-mode.el (verilog-mode):
* lisp/progmodes/vhdl-mode.el (vhdl-hs-minor-mode): Rewrite
settings.
* lisp/progmodes/python.el (python-ts-hs-adjust-block-end-fn):
New function.
* lisp/treesit.el (treesit-hs-block-end)
(treesit-hs-find-block-beginning, treesit-hs-find-next-block)
(treesit-hs-looking-at-block-start-p): Minor updates.
* doc/emacs/programs.texi (Hideshow):
* etc/NEWS: Document changes.
2025-11-04 19:15:10 +02:00
Eli Zaretskii
7c6993e21d ; * doc/lispref/objects.texi (Equality Predicates): Restore @group. 2025-11-04 13:55:27 +02:00
Mattias Engdegård
11860fe936 Improved examples for documentation of 'eq'
* doc/lispref/objects.texi (Equality Predicates):
Remove incorrect and/or misleading examples, add new ones,
and display them more compactly to save space.
2025-11-04 10:59:47 +01:00
Martin Rudalics
df3706a3c3 Fix thinko in 'delete-other-frames'
* lisp/frame.el (delete-other-frames): In second round make sure
the candidate frame has not been deleted in the first round to
avoid that 'frame-terminal' and friends throw an error.
2025-11-04 10:08:19 +01:00
Eli Zaretskii
08c1775264 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2025-11-03 09:29:35 -05:00
Eli Zaretskii
74780575e5 Fix compilation errors in xsettings.c
* src/xsettings.c (store_config_changed_event, dpyinfo_valid)
(store_font_name_changed, store_tool_bar_style_changed): Tweak
preprocessor conditions to satisfy all builds without warnings.
2025-11-03 09:27:16 -05:00
Mattias Engdegård
f2836a8515 ; Avoid minibuffer.el compilation warning about cl-every 2025-11-03 13:00:59 +01:00
Mattias Engdegård
d123ac1400 Don't assume that literal constants are eq-unique in tests
* test/lisp/emacs-lisp/cl-lib-tests.el (cl-test-ldiff):
* test/lisp/emacs-lisp/seq-tests.el (test-seq-union):
These tests relied on literal constants being unique in the sense of
'eq', and would fail if they stop being that (already the case for
strings).
2025-11-03 10:14:55 +01:00
F. Jason Park
f591d1c027 ; Skip erc-keep-place-indicator test on Emacs 27
* test/lisp/erc/erc-scenarios-base-reuse-buffers.el
(erc-scenarios-common--base-reuse-buffers-channel-buffers): Extend some
timeouts.
* test/lisp/erc/erc-scenarios-keep-place-indicator.el
(erc-scenarios-keep-place-indicator--follow): Prefer `ert-skip' here
instead of an :unstable tag because ERC's tests can run locally on some
systems with "SELECTOR=t".
2025-11-02 20:25:27 -08:00
Yuan Fu
b01435306a
Change tree-sitter query predicate names (bug#79687)
Latest tree-sitter library throws a syntax error if the
predicate names in a query don't end with question mark.  So we
made the following change:

:equal changed to :eq?
:match changed to :match?
:pred changed to :pred?

Old names are transparently converted to new names when
expanding patterns.

:match predicate can now take the regexp and the node in any
order: it'll figure out which is which automatically. This way
it works with current Emacs convention (regexp first), as well
as tree-sitter's match convention (regexp second).

* doc/lispref/parsing.texi (Pattern Matching): Update manuel to
use new predicate names.
* src/treesit.c:
(Ftreesit_pattern_expand):
(Ftreesit_query_expand):
(treesit_predicate_match):
(treesit_eval_predicates):
(syms_of_treesit): Use new predicate names.
* test/src/treesit-tests.el (treesit-query-api): Update test.
2025-11-02 17:11:55 -08:00