1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-03 12:31:32 -08:00
Commit graph

179483 commits

Author SHA1 Message Date
Mattias Engdegård
a4ea22d998 * lisp/emacs-lisp/cl-lib.el (cl-copy-list): Not error-free, bug#79396 2025-09-07 17:47:51 +02:00
Mattias Engdegård
c13c620f12 Less expensive jsonrpc logging (bug#79361)
Remove the oldest 1/4 of the jsonrpc events buffer when reaching the
size limit instead of just a few lines.  This reduces the cost of adding
a log entry from O(buffer-size) to O(1).

Also make messages forwarded to the events buffer, such as ones sent to
stderr from the server process, obey the same limit.

* lisp/jsonrpc.el (jsonrpc--limit-buffer-size): New.
(jsonrpc--log-event, jsonrpc--forwarding-buffer): Use it.
2025-09-07 14:39:24 +02:00
Mattias Engdegård
36c8ebe78a Avoid unnecessary text decoding in jsonrpc for speed (bug#79361)
The built-in JSON parser works on undecoded (unibyte) input; decoding
received data is just a waste and does take time even when all-ASCII.

* lisp/jsonrpc.el (initialize-instance): Use unibyte process buffer and
binary coding for process I/O, implying unibyte strings being passed to
the filter function.
(jsonrpc-connection-send): More efficient message generation.
(jsonrpc--json-read): Compatibility code for the old elisp json parser.
(jsonrpc--process-filter): Faster header-matching regexp.
2025-09-07 14:39:24 +02:00
Mattias Engdegård
11b3af6425 Harmonise doc strings for {re-,posix-,}search-{forward,backward}
The doc strings for re-search-forward and re-search-backward have been
improved (bug#25193, bug#31584) but the corresponding posix- and
non-regexp search functions still have the original text, despite
describing the exact same mechanism.

There is no reason for them to differ, so we make them all use the
updated version which also is more readable.  Any future doc string
improvements should be made to all of them in the same way for
consistency.

* src/search.c (Fsearch_backward, Fsearch_forward)
(Fposix_search_backward, Fposix_search_forward):
Use text from Fre_search_forward and Fre_search_backward.
2025-09-07 14:39:07 +02:00
Lockywolf
adc9c43306 ispell.el: Add 56 tests (bug#79177)
* test/lisp/textmodes/ispell-tests/ispell-tests.el:
* test/lisp/textmodes/ispell-tests/ispell-aspell-tests.el:
* test/lisp/textmodes/ispell-tests/ispell-international-ispell-tests.el:
* test/lisp/textmodes/ispell-tests/ispell-hunspell-tests.el: New files.
* test/lisp/textmodes/ispell-resources/fake-aspell.bash: Add a mock
`aspell' for use in ispell.el test, with old version.
* test/lisp/textmodes/ispell-resources/fake-aspell-new.bash: Add a mock
`aspell' for use in ispell.el test, with recent version.
2025-09-07 15:01:43 +03:00
Michael Albinus
baf5908caa * admin/notes/jargon: Add RSN. 2025-09-07 09:00:45 +02:00
Elijah Gabe Pérez
59f21094fd ; Fix x-gtk-stock-map
* lisp/term/pgtk-win.el (x-gtk-stock-map):
* lisp/term/x-win.el (x-gtk-stock-map): Fix entry.
2025-09-07 09:00:20 +02:00
Dmitry Gutov
c36259e479 project--read-project-buffer: Fix creating new buffer
* lisp/progmodes/project.el (project--read-project-buffer):
Fix the case of entering new buffer name (bug#77312).
2025-09-07 04:56:00 +03:00
Sean Whitton
c26f702bf9 vc-deduce-backend: Respect vc-buffer-overriding-fileset
* lisp/vc/vc.el (vc-deduce-backend): Respect
vc-buffer-overriding-fileset, if set.
2025-09-06 16:43:45 +01:00
Spencer Baugh
2a1f9f8dfe Fix nil value of 'elisp-flymake-byte-compile-executable'
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile--executable): Properly check for
nil, and simplify code.  (Bug#79380)
2025-09-06 18:33:32 +03:00
Eli Zaretskii
72401548ca ; * src/process.c (deactivate_process): Fix last change. 2025-09-06 17:52:31 +03:00
Brian Leung
e06684067d Eglot: Really fix neocmakelsp invocation
* lisp/progmodes/eglot.el (eglot-server-programs): Remove an
incorrect extra layer of parentheses.  (Bug#79394)
2025-09-06 16:42:33 +03:00
Sean Whitton
2ecced627b Fix log-view--mark-unmark interactive arguments
* lisp/vc/log-view.el (log-view--mark-unmark): New BEG and END
arguments.  Don't call region-beginning and region-end here.
(log-view-mark-entry, log-view-unmark-entry): Pass BEG and END
to log-view--mark-unmark, non-nil when the region is active.
2025-09-06 12:15:33 +01:00
Eli Zaretskii
6c150961fd ; Merge from origin/emacs-30
The following commit was skipped:

5e57829ffd Fix command keys in doc string of 'inferior-python-mode'
2025-09-06 05:53:09 -04:00
Eli Zaretskii
4ac9e93e5e Merge from origin/emacs-30
aad5b676d1 ; * lisp/emacs-lisp/ring.el (ring-convert-sequence-to-rin...
ddd63891a4 ; * doc/misc/flymake.texi (Troubleshooting): Fix typo (bu...
8dcb802046 ; vc-hooks.el: Standardize terminology in header.
2025-09-06 05:53:08 -04:00
Eli Zaretskii
29d18f4ffe Avoid assertion violations when starting client network process
* src/process.c (deactivate_process): Clear the callback info of
descriptors we are closing.  (Bug#79367)
2025-09-06 12:43:19 +03:00
Jostein Kjønigsen
6b42b974ce 'nxml-mode': add schema for .NET SLNX files.
SLNX is a new XML-based file-format for .NET based solutions, replacing
the older proprietary SLN file-format.

Unlike SLN-files, it is merge-friendly and expected to become the new
de-facto standard for working with .NET projects.  This commit adds
support for SLNX-schema to 'nxml-mode'.

The schme provided has been synthesized using the official XSD-schema
definition:
https://github.com/microsoft/vs-solutionpersistence/blob/main/src/Microsoft.VisualStudio.SolutionPersistence/Serializer/Xml/Slnx.xsd

This schema was then converted to RNG using XSDtoRNG.xsl:
https://github.com/epiasini/XSDtoRNG

The RNG schema was then converted to RNC using the trang CLI-tool:
https://relaxng.org/jclark/trang.html

* etc/schema/dotnet-slnx.rnc: New file.
* etc/schema/schemas.xml: Add Slnx schema.

* lisp/files.el (auto-mode-alist): Add association for SLNX files.
(Bug#79379)
2025-09-06 12:27:29 +03:00
Eli Zaretskii
5e57829ffd Fix command keys in doc string of 'inferior-python-mode'
* lisp/progmodes/python.el (inferior-python-mode): Mention the
correct mode-map in the doc string.  (Bug#79386)

(cherry picked from commit ab5e0f5359)
2025-09-06 12:23:35 +03:00
Eli Zaretskii
ab5e0f5359 Fix command keys in doc string of 'inferior-python-mode'
* lisp/progmodes/python.el (inferior-python-mode): Mention the
correct mode-map in the doc string.  (Bug#79386)
2025-09-06 12:20:58 +03:00
Gustav Hållberg
7b09f8bb7c "M-x lldb": bugfix source code location without column
* lisp/progmodes/gud.el (gud-lldb-marker-filter): Fix problem
where the source code location ends up at the last character of
the previous line if no (or zero) column is reported by lldb.
(Bug#79360)

Copyright-paperwork-exempt: yes
2025-09-06 12:04:30 +03:00
Eli Zaretskii
aad5b676d1 ; * lisp/emacs-lisp/ring.el (ring-convert-sequence-to-ring): Doc fix. 2025-09-06 11:36:21 +03:00
Liu Hui
fb969ab174 Fix duplicate inputs in 'comint-read-input-ring'
* lisp/comint.el (comint-read-input-ring): Fix the index of
the last input in the ring.  (Bug#79329)
2025-09-06 11:25:22 +03:00
Eli Zaretskii
ddd63891a4 ; * doc/misc/flymake.texi (Troubleshooting): Fix typo (bug#79391). 2025-09-06 10:15:49 +03:00
Stefan Monnier
c374bb50da (redisplay_internal): Fix follow-mode (bug#79306)
* src/xdisp.c (redisplay_internal): Don't increment `redisplay_counter`
if we ail out before starting an actual redisplay.
2025-09-05 15:02:54 -04:00
Sean Whitton
4d8ba9fbe7 Log View marking commands: respect numeric prefixes & active regions
* lisp/vc/log-view.el (log-view--mark-unmark)
(log-view--mark-entry, log-view--unmark-entry): New functions.
(log-view-mark-entry, log-view-unmark-entry): Call them.
Newly respect numeric prefix arguments and active regions.
2025-09-05 16:08:37 +01:00
Sean Whitton
9501b9b198 ; log-view-mark-entry, log-view-unmark-entry: Fix advancing point. 2025-09-05 15:30:02 +01:00
Sean Whitton
787f18010d vc-dir-mark-unmark: When region active, don't do any y/n prompting
* lisp/vc/vc-dir.el (vc-dir-mark-unmark): When region active,
bind vc-dir-allow-mass-mark-changes to nil.
2025-09-05 15:22:31 +01:00
Sean Whitton
9f7cdcb454 vc-dir-mark-unmark: When region active, don't do any y/n prompting
* lisp/vc/vc-dir.el (vc-dir-mark-unmark): When region active,
bind vc-dir-allow-mass-mark-changes to nil.
2025-09-05 15:22:12 +01:00
Eli Zaretskii
20a9129349 ; Fix 'elisp-flymake-byte-compile-executable' defcustom
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-executable): Fix :type.
2025-09-05 14:29:37 +03:00
Sean Whitton
a893dacb38 Make 'm' and 'u' in Log View mode more standard
* lisp/vc/log-view.el (log-view-mark-entry)
(log-view-unmark-entry): New commands.
(log-view-toggle-mark-entry): Rewrite in terms of them.
(log-view-mode-map): Unbind log-view-toggle-mark-entry.
Bind the two new commands.
* etc/NEWS: Document the change.
2025-09-05 11:58:15 +01:00
Sean Whitton
8951cea14b ; * lisp/vc/vc-hg.el (vc-hg--pushpull): Fix docs for OBSOLETE param. 2025-09-05 11:24:07 +01:00
Sean Whitton
4e7c0489fe ; Delete two old comments about VC bindings
We wouldn't expect to change any of these longstanding bindings, now.
2025-09-05 11:23:34 +01:00
Eli Zaretskii
951e782836 Fix locking to threads of the client network process
* src/process.c (server_accept_connection): Make the client
process be locked to the same thread as the parent server process,
or unlocked if the server process was unlocked.  (Bug#79367)
2025-09-05 08:52:05 +03:00
F. Jason Park
fca0dbe0ab Make function erc-scrolltobottom-mode idempotent
* lisp/erc/erc-goodies.el (erc-scrolltobottom-mode)
(erc-scrolltobottom-enable): Always remove hook functions whose
membership hinges on the value of `erc-scrolltobottom-all'.  In ERC 5.6,
an init file's `setopt' form containing an `erc-modules' assignment
before an `erc-scrolltobottom-all' one would result in conflicting sets
of hook members come `erc-open'.  Having such option-dependent branching
in module setup, while difficult to maintain, is a long held ERC
practice, as seen in functions like `erc-nickserv-identify-mode'.
Making all new modules "local" may be the most manageable solution
because existing global modules can't be made to require prior
deactivation.
2025-09-04 17:12:25 -07:00
F. Jason Park
b3abbab632 Don't touch window configuration in erc-fill prompt hook
* lisp/erc/erc-fill.el (erc-fill--wrap-indent-prompt): While computing
the prompt indentation's text size, don't bother saving and restoring
the window configuration because unwanted scrolls are now believed to be
unlikely because of other changes.
2025-09-04 17:10:32 -07:00
Sean Whitton
684d091692 ; * doc/emacs/vc1-xtra.texi (Other Working Trees): New FIXME. 2025-09-04 11:02:35 +01:00
Po Lu
446c037d57 Fix crash when the same XI device appears in multiple hierarchy events
* src/xterm.c (xi_disable_devices): Move `out' label into the
outermost loop.  (bug#79343)
2025-09-04 09:10:20 +08:00
Stefan Monnier
d314971e04 lisp/eshell/em-glob.el (eshell-glob-translate-alist): Don't quote lambda 2025-09-03 16:54:39 -04:00
Eshel Yaron
60a22185b7
Support completion category inheritance
* lisp/minibuffer.el (define-completion-category): New function.
(completion-category-get): New function, implements completion
category property lookup with (multiple) inheritance.
(completion-metadata-get, completion--styles)
(completion--cycle-threshold): Use it.
(completion-category-defaults): Mention it in docstring.
Remove entry for 'project-buffer' category, and instead...
* lisp/progmodes/project.el: ...have 'project-buffer' inherit
from 'buffer'.
* test/lisp/minibuffer-tests.el
(completion-category-inheritance): New test.
* etc/NEWS: Announce support for category inheritance.
2025-09-03 21:01:43 +02:00
Jonas Bernoulli
5f70ff65a7
Update to Transient v0.10.0-8-g5efa5c6e 2025-09-03 17:11:44 +02:00
João Távora
5db70442e5 Eglot: really fix bug#79259
The previous change actually introduced a bug in a closely
related but distinct place.  We need to address the off-by-one
in the 'substring' call, not the 'add-face-text-property'.

* lisp/progmodes/eglot.el (eglot--sig-info): Fixup.
2025-09-03 08:16:15 +01:00
Juri Linkov
2b9c7f9508 Make 'isearch-mode' more idempotent (bug#79368).
* lisp/isearch.el (isearch-mode): Don't override
'isearch--saved-local-map' when 'overriding-terminal-local-map'
was already set to 'isearch-mode-map' in a previous call.
(with-isearch-suspended): Don't call the function 'isearch-mode'
when the variable 'isearch-mode' is already non-nil.
2025-09-03 09:45:34 +03:00
Stefan Monnier
f97abe6200 (macroexp--obsolete-warning): Prefer %s
* lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): `instead`
can be a list.
* lisp/dom.el (dom-text, dom-texts): Fix obsolescence declaration.
2025-09-02 15:10:25 -04:00
Spencer Baugh
f1a18e8411 Allow any thread to run native compilations
* lisp/emacs-lisp/comp-run.el (comp--run-async-workers): Don't
lock the native compilation process to a thread (bug#79228).
2025-09-02 18:06:37 +03:00
Sean Whitton
8dcb802046 ; vc-hooks.el: Standardize terminology in header. 2025-09-02 15:46:23 +01:00
Eli Zaretskii
90350729be ; Improve error message in elisp-mode.el
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile--executable): Improve the error message.
2025-09-02 17:45:46 +03:00
Sean Whitton
077a2e8f3b fileloop-next-file: Convert file-error to warnings
* lisp/fileloop.el (fileloop-next-file): Catch file-error and
convert to a delayed warning (bug#79356).
2025-09-02 15:44:00 +01:00
Eli Zaretskii
a6dd36e9b1 ; Fix last change
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-executable): Doc fix.
2025-09-02 14:05:14 +03:00
Spencer Baugh
45c5b636ce Add 'elisp-flymake-byte-compile-executable' defcustom
The correct Emacs executable to use for
'elisp-flymake-byte-compile' is not necessarily the running
Emacs.  For example, when editing trunk with Emacs 30,
various Lisp changes will cause spurious flymake warnings.
Add 'elisp-flymake-byte-compile-executable' to allow
customizing this.
* lisp/progmodes/elisp-mode.el
(elisp-flymake-byte-compile-executable)
(elisp-flymake-byte-compile--executable): Add.  (Bug#79342)
(elisp-flymake-byte-compile): Invoke
'elisp-flymake-byte-compile--executable'.

* etc/NEWS: Announce the change.
2025-09-02 13:58:46 +03:00
Michael Albinus
6ad8745833 Extend tramp-test26-interactive-file-name-completion
* lisp/net/tramp.el (tramp-get-completion-methods):
Use `tramp-compat-seq-keep'.

* test/lisp/net/tramp-tests.el (completions-max-height): Declare.
(tramp-test26-interactive-file-name-completion): Extend test.
2025-09-02 12:09:17 +02:00