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

181454 commits

Author SHA1 Message Date
Basil L. Contovounesios
ada12edeb7 Better project-find-file error in empty project
* lisp/progmodes/project.el (project--read-file-name): Signal a
user-error and don't call project-read-file-name-function if the
file name collection is empty, since the default options for
project-read-file-name-function expect a cons (bug#80509).
(project-find-file-in): Avoid redundant consing for
vc-directory-exclusion-list in default case of include-all=nil.
2026-02-28 16:58:45 +01:00
Michael Albinus
31b106c1e2 multiple-command-partition-arguments: Use connection-local value
* lisp/subr.el (multiple-command-partition-arguments): Use
connection-local value for command-line-max-length.
2026-02-28 15:50:50 +00:00
Sean Whitton
62ab58972c ; * src/callproc.c (command-line-max-length): Use DEFVAR_INT. 2026-02-28 15:50:10 +00:00
Mattias Engdegård
a3411c8b86 Correct manual entry for string-lessp
* doc/lispref/strings.texi (Text Comparison):
The old text was wrong: non-ASCII unibyte chars overlap part of Unicode.
2026-02-28 16:38:27 +01:00
Mattias Engdegård
460e438356 Implement string> as a compiler macro instead of an optimisation
This doesn't affect the generated code.

* lisp/subr.el (string-greaterp): Add compiler macro.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-string-greaterp): Remove.
2026-02-28 16:37:38 +01:00
Mattias Engdegård
9d9f7b2c48 ; Don't set properties on function aliases
We look for properties on the aliased functions as well so there is no
need for them on the aliases themselves (unless we want the alias to
have different semantics but that's not the case for these).

* lisp/emacs-lisp/byte-opt.el: Don't set compilation-related properties
on 'string=', 'string>', 'not' or 'wholenump'.
(byte-optimize-null): Rename from 'byte-optimize-not'.
2026-02-28 16:37:37 +01:00
Mattias Engdegård
b85d853e50 Eliminate double arity warnings
Calls to some functions, such as 'cdr' and '%', would generate two
slightly different complaints if given the wrong number of arguments.

* lisp/emacs-lisp/bytecomp.el (byte-compile-subr-wrong-args): Remove.
Calls are replaced with 'byte-compile-normal-call'.
2026-02-28 16:37:37 +01:00
Sean Whitton
342e002c87 Show a message in locked frames in single-kboard mode
* src/keyboard.c (kbd_buffer_get_event): Pass the event's frame
up to the caller by means of a new 'struct frame **' argument.
(read_event_from_main_queue): Show a message in locked frames in
single-kboard mode (bug#79892).
* src/xdisp.c (log_message): Factor out of message3.
(message3): Call it.
(message3_nolog): Rename to ...
(message3_frame_nolog): ... this.  New 'struct frame *' argument
which causes temporarily switching to another frame when
displaying the message.
(message3_frame, message3_nolog): New functions.
* src/lisp.h: Declare message3_frame and message3_frame_nolog.
* admin/notes/multi-tty: Remove notes on showing a message.
2026-02-28 15:34:16 +00:00
Eli Zaretskii
fe2fdf7c82 ; * lisp/dired-aux.el (dired-do-async-shell-command): Doc fix (bug#80490). 2026-02-28 16:59:06 +02:00
Eli Zaretskii
b540c45bc5 Document that string ARG of 'kill-emacs' might not work
* src/emacs.c (Fkill_emacs):
* doc/lispref/os.texi (Killing Emacs): Document that EXIT-DATA
being a string doesn't always work.  (Bug#80435)
2026-02-28 16:10:08 +02:00
Richard Lawrence
a9a03cf35e Fix (or ...) patterns in 'cond*'/'match*'
This fixes Bug#80121.
* lisp/emacs-lisp/cond-star.el (cond*-subpat): Add missing reference to
'expression' when clearing multiple backtrack aliases.
2026-02-28 15:43:55 +02:00
Eli Zaretskii
0d017fc7ce ; Fix the documentation of 'overlays-in' etc.
* src/buffer.c (Foverlays_in):
* lisp/subr.el (remove-overlays):
* doc/lispref/display.texi (Finding Overlays, Managing Overlays):
* etc/NEWS: Improve the documentation of recent changes in
behavior of 'overlays-in' and 'remove-overlays'.  (Bug#80242)
2026-02-28 15:36:07 +02:00
Eli Zaretskii
a36d0c66e4 ; Remove unused declarations from w32heap.c
* src/w32heap.c (RtlCreateHeap_Proc, PRTL_HEAP_COMMIT_ROUTINE)
(RTL_HEAP_PARAMETERS): Remove unused declarations (bug#76041).
2026-02-28 14:58:33 +02:00
Eli Zaretskii
d366c8cf23 ; * src/w32proc.c (new_child): Update comment (bug#76041). 2026-02-28 14:53:34 +02:00
Sean Whitton
2c7f33e186 ; Hint for new users in manual. New comment. 2026-02-28 12:35:14 +00:00
Sean Whitton
3b223db8a7 Initialize command-line-max-length with sysconf(3)
* lisp/subr.el (command-line-max-length): Move from here ...
* src/callproc.c (syms_of_callproc): <Vcommand_line_max_length>:
... to here.  Initialize by calling sysconf(3) if possible.
2026-02-28 10:23:11 +00:00
Peter Oliver
58b195e5a3 New function rxvt-colorfgbg-background-mode
* lisp/term/rxvt.el (rxvt-colorfgbg-background-mode): New
function (bug#80486).
(rxvt-set-background-mode): Call it.

Copyright-paperwork-exempt: yes
2026-02-28 09:52:15 +00:00
Philip Kaludercic
91c8c0cc98
Fix prompting of packages for 'package-report-bug'
* lisp/emacs-lisp/package.el (package--query-desc): Load
'package-alist' if this hasn't already occurred.
(package-report-bug): Drop unnecessary ALIST argument when
invoking 'package--query-desc'.
2026-02-28 10:50:55 +01:00
Philip Kaludercic
4b253c39b1
Improve 'package-report-bug' robustness
* lisp/emacs-lisp/package.el (package-maintainers): Add
fallbacks if a package doesn't list a single maintainer.
(package-report-bug): Check if "emacs-devel@gnu.org" is listed
as a maintainer, in which case the message is redirected to
bug-gnu-emacs@gnu.org and the X-Debbugs-CC header is set.

(Bug#80478)
2026-02-28 10:50:55 +01:00
Philip Kaludercic
24b922dec1
; Update "Maintainers" header for compat.el 2026-02-28 10:50:55 +01:00
Philip Kaludercic
668c42c4ac
Allow more fine configuration of package retention
* lisp/emacs-lisp/package.el (package-upgrade-keep-previous):
Rename user option to 'package-retention-policy'.
(package--policy-type): New constant for policy types.
(package-retention-policy): New option.
(package-review-policy): Use new type constant.
(package--review-p): Rename and generalise to
'package-matches-selector-p'.
(package-matches-selector-p): New function.
(package-upgrade, package-menu--mark-upgrades-1): Respect
'package-retention-policy'.
* doc/emacs/package.texi (Package Installation): Document new option.
* etc/NEWS: Update NEWS entry.  (Bug#79957)
2026-02-28 10:50:55 +01:00
Philip Kaludercic
e744e8a7a7
Indicate if 'package-isolate' had to download a package
* lisp/emacs-lisp/package.el (package-isolate): Change
formatting to indicate dependencies to include a note if the
package was downloaded in a temporary directory.
2026-02-28 10:50:55 +01:00
Philip Kaludercic
356d74b943
Fix 'package-isolate' in combination with quickload
* lisp/emacs-lisp/package.el (package-isolate): Call
'package--activate-all' directly, to ensure that all the package
directories are properly loaded.
2026-02-28 10:50:55 +01:00
Philip Kaludercic
33c63d24de
; Prevent 'package-isolate' from creating cyclic lists
* lisp/emacs-lisp/package.el (package-isolate): Do not use
destructive 'mapcan' to create a list of dependencies, as
'package-desc-reqs' doesn't return a fresh list.
2026-02-28 10:50:55 +01:00
Jeremy Bryant
0ca7040096
Add option to keep previous package versions on upgrade
This change adds a conditional to keep old package versions on upgrade.
This allows users to keep running multiple Emacsen without a package
upgrade in one Emacs breaking another running Emacs.

* lisp/emacs-lisp/package.el (package-upgrade-keep-previous):
New boolean user option.
(package-upgrade): Use it.
(package-menu--mark-upgrades-1): Use it.
(package-menu--find-upgrades): Make consistent with new option.
* etc/NEWS: Announce it.

(Bug#79957)
2026-02-28 10:50:55 +01:00
Boris Buliga
1c4f09aadc Fix macOS 26 scrolling lag and input handling issues (bug#80268)
macOS 26 introduced new event processing behavior that causes scrolling
lag and input handling problems in Emacs.  This patch disables two
features via NSUserDefaults when built against the macOS 26 SDK:
- NSEventConcurrentProcessingEnabled
- NSApplicationUpdateCycleEnabled

This fix is based on the equivalent patch in emacs-mac by Mitsuharu
Yamamoto.  See: https://bitbucket.org/mituharu/emacs-mac/commits/e52ebfd

* src/nsterm.m (ns_term_init): Disable problematic event processing
when built for macOS 26+.
2026-02-27 20:27:53 +00:00
Stefan Monnier
0068215e53 emacs-lisp-intro.texi: Eliminate duplicate ASCII art
* doc/lispintro/emacs-lisp-intro.texi (print-postscript-figures):
Set it only if we're outputting TeX.
(Lists diagrammed, Lists diagrammed, Lists diagrammed)
(Lists diagrammed, Lists diagrammed, Symbols as Chest)
(kill-ring-yank-pointer, lambda): Presume that
`print-postscript-figures` is set only for TeX output and remove
the `@tex...@end tex` around `@image` which do not seem relevant any more.
2026-02-27 13:42:40 -05:00
Sean Whitton
eca81082a1 ; Fix some comments. 2026-02-27 18:17:36 +00:00
Sean Whitton
9d7130439a ; Copy out log message from when branch was first introduced. 2026-02-27 16:02:49 +00:00
Eli Zaretskii
76c7c867d6 Fix bug on MS-Windows with frame title when system-name is non-ASCII
* src/w32.c (sys_gethostname): Convert system name to UTF-8.
Ensure the buffer passed to 'gethostname' is large enough.
(Bug#80472)
2026-02-27 17:55:05 +02:00
Sean Whitton
13cc7c2b54 New 'log-outstanding' value for vc-log-view-type
This fixes vc-hg-print-log's choice of -r arguments to 'hg log'.

* lisp/vc/vc.el (vc-log-view-type): New 'log-outstanding' value.
(vc-log-outstanding): Pass it.
* lisp/vc/vc-git.el (vc-git-log-view-mode):
* lisp/vc/vc-hg.el (vc-hg-print-log, vc-hg-log-view-mode): Treat
'log-outstanding' the same as 'log-outgoing'.
2026-02-27 13:45:24 +00:00
Eli Zaretskii
959da75342 ; * test/src/data-tests.el (data-tests-native-comp-unit): Fix test. 2026-02-27 15:29:16 +02:00
Sean Whitton
9bb9074d93 Fix renaming directories in VC repositories
* lisp/dired-aux.el (dired-rename-file): When determining
whether to call vc-rename-file, use vc-responsible-backend
instead of vc-backend when FILE is a directory.
* lisp/vc/vc.el (vc-rename-file): Support renaming directories.
2026-02-27 12:08:27 +00:00
Richard Lawrence
f0dbe25d4c Fix `diary-rrule' recurrence rule calculation (Bug#80460)
Thanks to TAKAHASHI Yoshio for reporting and for fixing one of
the typos.  In addition to the reported bug involving
:include/:exclude, testing revealed that the provided RRULE
COUNT clause was also not being handled correctly; this change
also fixes that.
* lisp/calendar/diary-icalendar.el (diary-rrule): Handle
recurrence rules with a COUNT clause.
* lisp/calendar/icalendar-recur.el
(icalendar-recur-recurrences-in-interval): Fix a couple of
typos that caused RDATE/EXDATE calculations to fail.
* test/lisp/calendar/diary-icalendar-tests.el
(diary-icalendar-test-rrule-bug-80460): New test for this bug.
2026-02-26 14:25:22 +02:00
Eli Zaretskii
29fc964207 ; Avoid byte-compilation warning in c-ts-common.el
* lisp/progmodes/c-ts-common.el (c-ts-common-comment-start-skip):
Move up to avoid byte-compiler warning.
2026-02-26 14:15:21 +02:00
Mattias Engdegård
c7595cbc02 Upgrade 'equal' from side-effect-free to error-free
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
(side-effect-and-error-free-fns): 'equal' and
'equal-including-properties' no longer signal 'circular-list'; while
they do error on very deep structures, that is more of a resource limit
so let's overlook that.
2026-02-26 10:44:28 +01:00
Mattias Engdegård
e0381f24f6 Simplify peephole optimisation rule
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
Remove some obsolete dynamic variable optimisations that no longer
improve any code.  Fix broken logging (thanks Pip).
2026-02-26 10:44:28 +01:00
Martin Rudalics
cbd437f792 ; Fix doc-string of 'window-combination-resize'
* src/window.c (syms_of_window): Fix doc-string of
'window-combination-resize'.
2026-02-26 10:22:11 +01:00
Eli Zaretskii
9d63a329e7 ; * lisp/skeleton.el (skeleton-insert): Doc fix. (Bug#80492) 2026-02-26 11:07:57 +02:00
Eli Zaretskii
c73823dddd ; Fix esh-proc-tests on MS-Windows
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test/kill/process-id)
(esh-proc-test/kill/process-object): Fix these tests on MS-Windows.
2026-02-26 08:00:02 +02:00
Yuan Fu
d0cc67a143
Make c-ts-common-comment-start-skip public
* lisp/progmodes/c-ts-common.el:
(c-ts-common-comment-start-skip): Change to public.
(c-ts-common-comment-2nd-line-anchor):
(c-ts-common-comment-setup): Use it.
2026-02-25 21:03:21 -08:00
Arsen Arsenović
0a80c05df0
c-ts-mode: Don't assume comment-start-skip is set
This patch makes it easier to use the existing C and C++
language support in other languages.  Without this patch, if the
outer mode sets some specific and more accurate
comment-start-skip value, or perhaps leaves it unset,
indentation will break.

* lisp/progmodes/c-ts-common.el (c-ts-common--comment-start-skip):
Declare to the value c-ts-common-comment-setup used to set as
comment-start-skip.
(c-ts-common-comment-setup): Use it, rather than hardcoding.
(c-ts-common-comment-2nd-line-anchor): Use it, rather than
comment-start-skip.  This makes it easier to reuse C/++
indentation rules in other TS modes for embedding C/++ segments
in other languages.

Copyright-paperwork-exempt: yes
2026-02-25 20:59:56 -08:00
Eric S. Raymond
47735e0243 Repair another test bollixed by aggressive optimization. 2026-02-25 20:51:21 -05:00
Eric S. Raymond
ca42055b0c Repair ab ecal test by making a variable kexical, 2026-02-25 20:20:26 -05:00
Eric S. Raymond
1b0c8d6b95 Complete the test set for floatfns,c. 2026-02-25 20:18:31 -05:00
Eric S. Raymond
a339c6827c Tesrts for the portable primitives in fileio.c. 2026-02-25 19:54:11 -05:00
Eric S. Raymond
5749b2e4f4 Tests for primitives in coding.c and charset.c. 2026-02-25 19:41:05 -05:00
Eric S. Raymond
b09f8df206 Tests for primitives from the character.c module. 2026-02-25 19:41:05 -05:00
Stefan Monnier
1b3b3cd57d lisp/vc/smerge-mode.el (smerge-refine-shadow-cursor): Make it thinner
OTOH a thickness of 1 pixel is a bit too thin on my HiDPI
displays, but 2 is too thick on non-HiDPI displays, at least with
my default smallish font.
I originally favored the HiDPI displays and large fonts,
thinking it's a more common situation nowadays, but I changed my
mind because the "too thick" problem seems actually more severe
because it's occasionally bad enough that it's unclear which
cursor is the real one.
2026-02-25 19:18:49 -05:00
Eric S. Raymond
d7a3d442b4 Tests for the lreaf.c amd print.c primitives. 2026-02-25 19:03:02 -05:00