1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-09 00:11:49 -07:00
Commit graph

177421 commits

Author SHA1 Message Date
Po Lu
d343a80e6e ; Fix function declarations in frame.el
* lisp/frame.el (widget-field-text-end, widget-field-start)
(widget-get): Correct function declarations.
2025-03-10 11:31:50 +08:00
Po Lu
02681b0fbf Don't claim that xftfont is being considered for deletion
* configure.ac: Don't claim that Xft is being considered for
deletion or that recent releases are buggy, or imply that
HarfBuzz support is exclusive to Cairo.
2025-03-10 11:28:38 +08:00
Stefan Monnier
c4a2823166 (makefile-dependency-regex): Fix bug#76759
* lisp/progmodes/make-mode.el (makefile-dependency-regex):
Decompose the regexp to be more understandable, and then change
it so the target part can't accidentally match a TAB.

* test/lisp/progmodes/make-mode-tests.el (make-mode-tests--bug17400):
New test.
2025-03-09 22:07:39 -04:00
Po Lu
5176eeb300 ; Correct typos in commentary and error messages
* src/lisp.h (USE_LSB_TAG):

* src/pdumper.c (pdumper_load): Correct typos in commentary and
error messages.
2025-03-10 09:43:13 +08:00
Mauro Aranda
0861da138b Provide better completion for customizing frame parameters
* lisp/frame.el (frame--special-parameters): New const.
(frame--complete-parameter-value): New function.
(initial-frame-alist, minibuffer-frame-alist): Use them in
:type.  (Bug#39143)
* lisp/cus-start.el (default-frame-alist): Use them here as well.
* src/frame.c (frame_parms): Add comment to try to keep
frame--special-parameters updated.
2025-03-09 19:07:40 -03:00
Stefan Kangas
731af8747c ; Fix byte-compiler warning 2025-03-09 18:29:01 +01:00
Stefan Kangas
ce03bf252a Make second arg to defvar-local optional
This change allows declaring a variable both special
and buffer-local like so:

    (defvar-local foo)

* lisp/subr.el (defvar-local): Make second argument optional.
* test/lisp/subr-tests.el (subr-test-defvar-local): New test.
* doc/lispref/variables.texi (Creating Buffer-Local): Document above change.
* etc/NEWS:

* lisp/mb-depth.el (minibuffer-depth-overlay):
* lisp/minibuf-eldef.el (minibuf-eldef-initial-input)
(minibuf-eldef-initial-buffer-length)
(minibuf-eldef-showing-default-in-prompt, minibuf-eldef-overlay):
* lisp/misc.el (list-dynamic-libraries--loaded-only-p):
* lisp/simple.el (minibuffer-history-isearch-message-overlay): Use
above new one-argument form of 'defvar-local'.
2025-03-09 18:24:22 +01:00
Stefan Kangas
a6523599f9 Use lisp-data-mode in recentf-save-file
* lisp/recentf.el (recentf-save-file-header): Add cookie to use
lisp-data-mode in recentf-save-file.
2025-03-09 18:24:21 +01:00
Stefan Kangas
3396f0e567 Use .eld for some relevant cache and data files
* lisp/bookmark.el (bookmark-default-file):
* lisp/net/nsm.el (nsm-settings-file):
* lisp/progmodes/project.el (project-list-file):
* lisp/saveplace.el (save-place-file): Rename files to have the file
suffix ".eld".  This change is backwards-compatible.
2025-03-09 18:24:21 +01:00
Stefan Kangas
87db670d04 Make locate-user-emacs-file accept a list too
This can be used to migrate to a new name, while also keeping
backwards-compatible support for an old name.

* lisp/files.el (locate-user-emacs-file): Accept a list as the
NEW-NAME argument.
* test/lisp/files-tests.el (files-test-locate-user-emacs-file): New
test for the above.
2025-03-09 18:24:21 +01:00
Stefan Kangas
9c6e8589ee Add test for 'locate-user-emacs-file'
* test/lisp/files-tests.el
(files-test-locate-user-emacs-file): New test.
2025-03-09 18:24:21 +01:00
Po Lu
a5f8ce9f1e Re-port to 32-bit systems without alignment primitives
* configure.ac (ALIGNOF_INT, ALIGNOF_LONG, ALIGNOF_LONG_LONG):
New variables.
(emacs_cv_alignas_unavailable): Define if alignas and structure
alignment primitives are unavailable.  In such an environment,
the MSB tagging scheme must be enabled, as must the GNU malloc.

* msdos/sed2v2.inp: Adjust correspondingly.

* src/alloc.c (union emacs_align_type): Remove types which
contain flexible array members.  The address of a field
subsequent to an aggregate with flexible array members cannot
validly be taken.
(mark_memory) [!USE_LSB_TAG && !WIDE_EMACS_INT]: Strip type bits
before scanning memory.

* src/emacs.c (main):

* src/eval.c (Fautoload_do_load):

* src/fns.c (Frequire): Rename a number of illogically named
fields.

* src/lisp.h (ALIGNOF_EMACS_INT): Define to the natural
alignment of EMACS_INT.
(IDEAL_GCALIGNMENT): New macro.
(USE_LSB_TAG): Disable if no alignment specifiers are available,
WIDE_EMACS_INT is undefined, and the natural alignment of
EMACS_INT falls short of LSB tagging's requirements.
(gflags): Rename illogically named fields and don't define them
as bitfields, which runs afoul of certain compiler issues.
(will_dump_p, will_bootstrap_p, will_dump_with_pdumper_p)
(dumped_with_pdumper_p): Adjust accordingly.

* src/pdumper.c (VM_SUPPORTED): Define to 0 when !USE_LSB_TAG.
It is better to read dump files into the heap by hand than to be
supplied with an address that is not representable.
(_dump_object_start_pseudovector): Rename to
dump_object_start_pseudovector, to avoid encroaching on reserved
names.
(START_DUMP_PVEC): Adjust correspondingly.
(dump_mmap_contiguous_vm): Preserve errno around failure
cleanup.
(dump_bitset_bit_set_p): Work around certain compiler issues.
(pdumper_load) [!USE_LSB_TAG]: Reject dump file allocations
that are not representable as Lisp_Objects.

Tested on i386-unknown-solaris2.10, sparc-sun-solaris2.10.
2025-03-09 23:07:33 +08:00
Sean Whitton
57cef07710 Restore find-function-mode-map (bug#76700)
* lisp/emacs-lisp/find-func.el
(find-function-mode-lower-precedence): New option.
(find-function-mode-map): Restore.
(find-function-mode): Don't unconditionally bind keys into the
global map.  Instead respond to the new user option (bug#76700).
* etc/NEWS: Mention the new option in existing entry.
2025-03-09 21:50:16 +08:00
Mauro Aranda
203747b87f Allow changing theme settings without reloading it
* lisp/custom.el (custom--should-apply-setting): Return non-nil
for an enabled theme.  Provide docstring.  This allows for users
to reevaluate a custom-theme-set-* function and see the settings
applied right away.  (Bug#76685)
(custom--inhibit-theme-enable): Adapt docstring.

* etc/NEWS: Announce the new behavior.
2025-03-09 09:22:29 -03:00
Michael Albinus
5890ee840e Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2025-03-09 12:42:06 +01:00
Michael Albinus
ee789d3d27 * admin/notes/jargon: Add AFK and OOO. 2025-03-09 12:41:40 +01:00
Eli Zaretskii
eb03969846 Merge from origin/emacs-30
35c7837c66 Fix TAGS regeneration with Universal Ctags
2025-03-09 07:33:14 -04:00
Eli Zaretskii
7f655b1188 ; Merge from origin/emacs-30
The following commit was skipped:

b1a9a4a48e Fix crash in daemon when "C-x C-c" while a client frame s...
2025-03-09 07:33:14 -04:00
Eli Zaretskii
bcfa9692f0 Merge from origin/emacs-30
af8017b23f Explicitly document read-string return value
cf03c2b609 Improve docstrings of python.el import management
01bcc6961a ; Improve doc strings of Speedbar
bd9c76ab17 Avoid warnings about 'image-scaling-factor' in builds --w...
2025-03-09 07:33:13 -04:00
Gerd Möllmann
6fb68f4310 Fix drawing to the bottom-right corner of terminals
* src/term.c (tty_write_glyphs_1): Renamed from tty_write_glyphs. Don't
check if writing the bottom-right corner.
(tty_write_glyphs): New function handling case of writing to the
bottom-right corner, and otherwise calling tty_write_glyphs_1.
2025-03-09 12:21:00 +01:00
Mauro Aranda
d01b7c85fe Guard against user saving ediff-meta-diff-buffer
* lisp/vc/ediff-mult.el (ediff-collect-custom-diffs): If the
diff buffer is visiting a file, create a new buffer.  (Bug#3348)

* test/lisp/vc/ediff-mult-tests.el: New test file.
2025-03-09 08:10:17 -03:00
Gerd Möllmann
ba20f73d8e macOS: Don't constrainFrameRect for child frames
* src/nsterm.m ([EmacsWindow constrainFrameRect:toScreen:]): Don't do
anything for child frames.
2025-03-09 11:49:27 +01:00
Rudolf Adamkovič
41c1c6ffac Make sure Comint minibuffer password prompts end with space
* lisp/comint.el (comint-watch-for-password-prompt): Add a trailing
space character to the minibuffer password prompt, if it does not
contain one already, per the minibuffer UI conventions.

Bug#76604
2025-03-09 11:46:51 +02:00
Eli Zaretskii
7e89ef2ced ; Fix documentation of previous change.
* lisp/display-fill-column-indicator.el
(display-fill-column-indicator-warning)
(display-fill-column-indicator-warning-face): Doc fixes.

* etc/NEWS: Announce 'display-fill-column-indicator-warning'.
(Bug#76494).
2025-03-09 11:20:33 +02:00
Elías Gabriel Pérez
2322dea77c Highlight fill-column-indicator when current line is too long
* lisp/display-fill-column-indicator.el
(display-fill-column-indicator-warning): New user option.
(display-fill-column-indicator-warning-face): New face.
(display-fill-column-indicator-mode): Add post-command-hook
if `display-fill-column-indicator-warning' is ON.  (Bug#76494)
2025-03-09 11:10:56 +02:00
Arash Esbati
31ebc00ece ; Add debug spec
* lisp/textmodes/reftex-parse.el (reftex-with-special-syntax): Add
debug spec and docstring.
2025-03-09 09:12:37 +01:00
Mauro Aranda
8bea0aae3b Action button when point is just after it
* lisp/cus-edit.el (Custom-newline): If no button at point,
check for a button before point.  (Bug#72341)
2025-03-09 14:28:25 +08:00
Christoph Badura
00e284fc52 VC: New hook to strip CVS template lines when committing
Add a hook function to strip all lines beginning with "CVS:" from the
commit message as CVS does.  Do this only if 'log-edit-vc-backend' is
'CVS'.  (Bug#72341)

* lisp/vc/log-edit.el
(log-edit-done-strip-cvs-lines): New command.
(log-edit-done-hook): Add it as an option.

* test/lisp/vc/log-edit-tests.el
(log-edit-done-strip-cvs-lines-helper): New function.
(log-edit-done-strip-cvs-lines-cvs)
(log-edit-done-strip-cvs-lines-non-cvs)
(log-edit-done-strip-cvs-lines-only-cvs-colon-blank)
(log-edit-done-strip-cvs-lines-only-cvs-colon): New test cases.

* etc/NEWS: Mention log-edit-done-strip-cvs-lines.
2025-03-09 14:28:25 +08:00
Ben Scuron
35c7837c66 Fix TAGS regeneration with Universal Ctags
* lisp/progmodes/etags-regen.el (etags-regen--append-tags): Move
the "-o" option to before the filename, as Ctags doesn't allow
it to follow the file name.  (Bug#76855)

Copyright-paperwork-exempt: yes
2025-03-09 08:19:01 +02:00
Po Lu
4db604f375 ; * java/org/gnu/emacs/EmacsWindow.java (viewLayout): Typo in comment. 2025-03-09 13:22:59 +08:00
Po Lu
1e289586fc Avoid reserved names in sfnt.c
* src/sfnt.c (_MIN, _MAX): Rename to INS_MIN and INS_MAX.
(sfnt_interpret_run): Adjust accordingly.
2025-03-09 13:20:02 +08:00
john muhl
2f1b1414f7 Use TS to support 'hs-minor-mode' in 'lua-ts-mode'
* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Add list type to
'treesit-thing-settings'.
* lisp/progmodes/hideshow.el (hs-special-modes-alist):
Remove regular expression based implementation.
* test/lisp/progmodes/lua-ts-mode-resources/hide-show.lua: New file.
* test/lisp/progmodes/lua-ts-mode-tests.el (lua-ts-test-hideshow):
Add test.  (Bug#76693)
2025-03-08 20:50:59 +02:00
Michael Heerdegen
7905ea761a Correct (debug body) edebug specs
This fixes Bug#69865.

* lisp/org/ob-exp.el (org-babel-exp--at-source):
* test/lisp/dired-tests.el (dired-test-with-temp-dirs):
* test/lisp/emacs-lisp/package-tests.el (with-fake-help-buffer):
Fix broken edebug specs (debug body) -> (debug (body)).
2025-03-08 18:35:07 +01:00
Kévin Le Gouguec
f23ee93250 Prevent button.el from clearing help-echo strings
In order to fix one of the issues discussed in bug#61413, i.e.
'buttonize' clobbering the help-echo property set by
'icon-string'.

This is a reasonable interpretation of the button.el
docstrings - "if HELP-ECHO, use that as the `help-echo'
property"; conversely, if not HELP-ECHO, then do not do
anything, preserving existing values for that property.

* lisp/button.el (button--properties): Only add a help-echo
property if HELP-ECHO is non-nil.  Add an additional property
for bookkeeping.
(unbuttonize-region): Check for that bookkeeping property
before clearing help-echo.
* test/lisp/button-tests.el (button--preserve-help-echo):
Validate these changes.
2025-03-08 17:29:34 +01:00
Daniel Colascione
269d337f91 Make windmove repetition more robust
Munge this-command when we hit a movement barrier so we override only on
the very next command instead of at the end of a sequence of movement
commands that didn't encounter a barrier.

* (windmove-do-window-select): Use last-command to remember that we hit
a barrier.
2025-03-08 07:53:07 -08:00
Daniel Colascione
1a9c2a9505 Fix documentation for windmove commands
* lisp/windmove.el (windmove-left, windmove-up, windmove-right)
(windmove-down): Mention correct variable names and align descriptions.
2025-03-08 07:52:59 -08:00
Po Lu
b36abc76ae ; Enable pdumper on some buggy versions of Sun C
* src/pdumper.c (dump_sort_copied_objects, drain_reloc_list)
(dump_do_fixups, dump_do_dump_relocation): Do not expand
Fnreverse multiple times in CALLN.  Sun C 5.12 evaluates the
arguments to array initializers to which it expands, which
clobbers the lists being reversed.
2025-03-08 21:58:19 +08:00
Po Lu
b0b7ad24e6 Don't lose drag-and-drop data intended for XTerm-like programs
* src/xselect.c (x_own_selection): If special values exist for
drag-and-drop to unsupported programs, retain them till the
selection is cleared.
2025-03-08 20:42:49 +08:00
Eli Zaretskii
b1a9a4a48e Fix crash in daemon when "C-x C-c" while a client frame shows tooltip
* src/frame.c (delete_frame): Ignore tooltip frames when looking
for other frames on the same terminal.  (Bug#76842)

(cherry picked from commit d2445c8c23)
2025-03-08 11:35:02 +02:00
Eli Zaretskii
d2445c8c23 Fix crash in daemon when "C-x C-c" while a client frame shows tooltip
* src/frame.c (delete_frame): Ignore tooltip frames when looking
for other frames on the same terminal.  (Bug#76842)
2025-03-08 11:31:22 +02:00
Sean Whitton
1bb91adea5 ; windmove-allow-repeated-command-override: Improve docstring 2025-03-08 17:14:54 +08:00
Sean Whitton
a546225e1a vc-log-internal-common: Kill all local variables
* lisp/vc/vc.el (vc-log-internal-common): Kill all local
variables, even permanent-local ones (bug#44698).
2025-03-08 17:09:30 +08:00
Eli Zaretskii
9bb2fe22db ; Fix wording of a recently-added NEWS entry. 2025-03-08 10:29:32 +02:00
Daniel Colascione
c82495dea7 Let repeated windmove override motion restrictions interactively
* lisp/windmove.el (windmove-allow-all-windows): document feature
(windmove-allow-repeated-command-override): new option
(windmove-do-window-select, windmove-left, windmove-up, windmove-right)
(windmove-down): pass interactive
* etc/NEWS: mention feature
2025-03-07 22:22:30 -08:00
Daniel Colascione
0972a54a5a Add static-when, static-unless like static-if
* lisp/subr.el (static-when, static-unless): define
* doc/lispref/control.texi (Conditional Compilation): document
* etc/NEWS: mention
2025-03-07 22:22:30 -08:00
João Távora
1c313f8dce Eglot: the margin code action indicator is interactive
* doc/misc/eglot.texi (Customization Variables): Fix.
2025-03-08 05:36:48 +00:00
João Távora
02f9b525fc Revert "Eglot: tests must work on 26.3"
This reverts commit 331492a148.

My bad: gensym wasn't the problem, it's available from 26.1.  Incf
was the problem, in the main program file.

* test/lisp/progmodes/eglot-tests.el (eglot--with-timeout): Back to gensym
2025-03-08 05:20:30 +00:00
João Távora
d81cdf9fd2 Eglot: unbreak from Emacs 26.3 (two-arg setq-local)
* lisp/progmodes/eglot.el (eglot--hierarchy-1): Use two-arg setq-local
2025-03-08 05:15:57 +00:00
João Távora
331492a148 Eglot: tests must work on 26.3
;; IMPORTANT: Since Eglot is a :core ELPA package, these tests are
;; supposed to run on Emacsen down to 26.3.  Do not use bleeding-edge
;; functionality not compatible with that Emacs version.

* test/lisp/progmodes/eglot-tests.el (eglot--call-with-timeout):
Back to cl-gensym.
2025-03-08 04:42:21 +00:00
Stefan Kangas
1efcd32cda Expand word list in admin/notes/jargon
* admin/notes/jargon: Add some more acronyms, remove some rare ones,
add section headers "Acronyms" and "Glossary", add entries under
"Glossary", sort, fix formatting, realign.
2025-03-08 03:06:09 +01:00