]> git.eshelyaron.com Git - emacs.git/log
emacs.git
5 months agoAdd typescript-ts-mode indentation for multi-assignment decls
Noah Peart [Fri, 19 Apr 2024 08:46:50 +0000 (01:46 -0700)]
Add typescript-ts-mode indentation for multi-assignment decls

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Add indentation rules for
lexical and variable declarations with multiple assignments.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
Add indent test for variable declarations (bug#68054).

(cherry picked from commit ce5d004b5b093842d9c46976c50453015fe1a7e7)

5 months agoproject-list-buffers-ibuffer: Handle the FILES-ONLY argument
Dmitry Gutov [Sun, 9 Jun 2024 02:37:25 +0000 (05:37 +0300)]
project-list-buffers-ibuffer: Handle the FILES-ONLY argument

* lisp/progmodes/project.el (project-list-buffers-ibuffer):
Handle the FILES-ONLY argument (bug71290).
(project-list-buffers-buffer-menu): Expand docstring.

(cherry picked from commit a486782f5ee394a432eebd1dc507ff558a8d7198)

5 months agoSupport Ibuffer in project-list-buffers
mikpom [Sun, 9 Jun 2024 02:32:57 +0000 (05:32 +0300)]
Support Ibuffer in project-list-buffers

* lisp/progmodes/project.el (project-buffers-viewer): New option.
(project-list-buffers): Dispatch using it.
(project-list-buffers-buffer-menu, project-list-buffers-ibuffer):
New functions (bug#71290).

(cherry picked from commit c0480e2211ff210ed037a2ac952070305769bafb)

5 months ago; Fix coding style of last change
Po Lu [Sun, 9 Jun 2024 01:10:57 +0000 (09:10 +0800)]
; Fix coding style of last change

* src/process.c (read_and_insert_process_output)
(read_and_dispose_of_process_output): Fix coding style.

(cherry picked from commit f896c5e8cab3d2eaf46dca4bc4c16e3c58c4bfaa)

5 months agoread-process-output-max: Increase the default value
Dmitry Gutov [Sat, 8 Jun 2024 23:58:19 +0000 (02:58 +0300)]
read-process-output-max: Increase the default value

* src/process.c (read-process-output-max):
Increase the default value to 65536 (bug#66020).

(cherry picked from commit d4bbffe83d85662f3c168870df6916187f654088)

5 months agoRemember the value of read_process_output_max when process is created
Dmitry Gutov [Sat, 8 Jun 2024 23:51:47 +0000 (02:51 +0300)]
Remember the value of read_process_output_max when process is created

* src/process.h (Lisp_Process): Add field readmax.

* src/process.c (read_process_output): Use it.
(create_process): Save the value of read_process_output_max to
it when the process is created (bug#66020).  Use for pipe size.

(cherry picked from commit 8cf6e311b87fabeba70d59647883a86c8c92b86f)

5 months agoGo around calling the default process filter (reducing GC churn)
Dmitry Gutov [Sat, 23 Sep 2023 22:19:14 +0000 (01:19 +0300)]
Go around calling the default process filter (reducing GC churn)

Instead of allocating strings and passing them to the filter, pass
the char buffer to a C function implementing the same logic.

* src/process.c (read_process_output_before_insert)
(read_process_output_after_insert):
New functions, extracted from internal-default-process-filter.
(Finternal_default_process_filter): Use them.
(read_and_insert_process_output): New function.  Use them.
(read_process_output_fast): New variable.
(read_process_output): Use it to choose how to insert (bug#66020).

* etc/NEWS: Mention the change.

(cherry picked from commit bbc18031aff6f22a1f2b63355f18f294fbdeb797)

5 months agourl-retrieve-synchronously: Fix timeout when connection hangs
Dmitry Gutov [Sat, 8 Jun 2024 21:52:26 +0000 (00:52 +0300)]
url-retrieve-synchronously: Fix timeout when connection hangs

* lisp/url/url.el (url-retrieve-synchronously):
Set url-asynchronous to t when TIMEOUT is non-nil (bug#71295).

(cherry picked from commit e2527dd9fd376b15d2f59ae440858b442b069577)

5 months ago(minibuffer-query-apply): Make sure not to skip first candidate
Eshel Yaron [Sun, 9 Jun 2024 07:49:49 +0000 (09:49 +0200)]
(minibuffer-query-apply): Make sure not to skip first candidate

5 months agoAdd 'minibuffer-action' to 'describe-face'
Eshel Yaron [Sun, 9 Jun 2024 07:49:33 +0000 (09:49 +0200)]
Add 'minibuffer-action' to 'describe-face'

5 months ago; * lisp/files.el: Update 'read-library-name' declaration
Eshel Yaron [Sun, 9 Jun 2024 07:48:57 +0000 (09:48 +0200)]
; * lisp/files.el: Update 'read-library-name' declaration

5 months ago(pcase--app-subst-match): Try and fix performance regression (bug#71398)
Stefan Monnier [Sat, 8 Jun 2024 21:34:30 +0000 (17:34 -0400)]
(pcase--app-subst-match): Try and fix performance regression (bug#71398)

* lisp/emacs-lisp/pcase.el (pcase--app-subst-match): Optimize matches
against (quote VAL).
* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-quote-optimization):
Add new test case.

(cherry picked from commit e9a0256a556622474bcbb015f88d790666db2cc9)

5 months agoImprove implementations of some Eshell output filter functions
Jim Porter [Tue, 4 Jun 2024 05:06:49 +0000 (22:06 -0700)]
Improve implementations of some Eshell output filter functions

* lisp/eshell/esh-mode.el (eshell-postoutput-scroll-to-bottom): Use
'get-buffer-window-list' for simplicity.
(eshell-handle-control-codes): Use 're-search-forward'; this way is much
faster.

* test/lisp/eshell/esh-mode-tests.el: New file.

(cherry picked from commit 15f515c7a37f29117ff123821265a760ff0d040d)

5 months agoBe more efficient when buffering output in Eshell
Jim Porter [Tue, 4 Jun 2024 05:01:48 +0000 (22:01 -0700)]
Be more efficient when buffering output in Eshell

This makes the built-in 'eshell/cat' 5-10x faster on large files in my
(somewhat limited) tests.  In addition, this change periodically
redisplays when using the Eshell buffered output so that users can see
some progress.

* lisp/eshell/esh-io.el (eshell-print-queue-size, eshell-print-queue,
eshell-print-queue-count): Make obsolete in favor of...
(eshell-buffered-print-size, eshell--buffered-print-queue)
(eshell--buffered-print-current-size): ... these.
(eshell-buffered-print-redisplay-throttle): New user option.
(eshell--buffered-print-next-redisplay): New variable.
(eshell-init-print-buffer): Make obsolete.
(eshell-flush): Add new REDISPLAY-NOW argument in favor of CLEAR (which
only 'eshell-init-print-buffer' should have used).
(eshell-buffered-print): Compare queued output length to
'eshell--buffered-print-current-size'.
(eshell-with-buffered-print): New macro.

* lisp/eshell/esh-var.el (eshell/env):
* lisp/eshell/em-dirs.el (eshell/cd):
* lisp/eshell/em-hist.el (eshell/history):
* lisp/eshell/em-unix.el (eshell/cat):
* lisp/eshell/em-ls.el (eshell/ls): Use 'eshell-with-buffered-print'.
(flush-func): Remove.
(eshell-ls--insert-directory, eshell-do-ls): Remove 'flush-func'.

* test/lisp/eshell/em-unix-tests.el (em-unix-test/compile/interactive)
(em-unix-test/compile/pipeline, em-unix-test/compile/subcommand): Fix
indentation.
(em-unix-test/cat/file-output): New test.

* etc/NEWS: Announce these improvements.

(cherry picked from commit 2fac71255f2e216481f956ad318378cdfddb9402)

5 months ago; Improve erc-format-privmessage documentation
F. Jason Park [Sat, 8 Jun 2024 00:08:08 +0000 (17:08 -0700)]
; Improve erc-format-privmessage documentation

* etc/ERC-NEWS: Mention that `erc-format-privmessage' has been removed
from the default client's primary code path.  Revise various headlines.
* lisp/erc/erc.el: Bump Compat version to 29.1.4.5.
(erc-format-privmessage): Make appeal for users to contact the mailing
list if they need to modify speaker-message formatting.

(cherry picked from commit c69c822c59f315512ac9a921289761907178e337)

5 months agoRestore deferred date-stamp insertions in ERC
F. Jason Park [Wed, 5 Jun 2024 07:22:28 +0000 (00:22 -0700)]
Restore deferred date-stamp insertions in ERC

* lisp/erc/erc-stamp.el (erc-stamp--recover-on-reconnect): Treat
`erc-stamp--deferred-date-stamp' as a permanent-local variable.
(erc-stamp--date): Document expected possible values for `fn' slot.
(erc-stamp--defer-date-insertion-on-post-modify): Use the function
`ignore' to mean a new `erc-timer-hook' member has been requested.
Use nil to mean one has already run.  Deferred date stamps are new in
ERC 5.6 and Emacs 30.
(erc-stamp--date-mode): Improve doc string.
* test/lisp/erc/erc-scenarios-stamp.el
(erc-scenarios-stamp--date-mode/reconnect): New test.

(cherry picked from commit f6bfa1844b53d6ccd24fd02092ae482d481fc5a5)

5 months agoFix killing indirect buffers under auto-revert-mode
Eli Zaretskii [Sat, 8 Jun 2024 17:43:55 +0000 (20:43 +0300)]
Fix killing indirect buffers under auto-revert-mode

* lisp/autorevert.el (auto-revert-mode): Don't add indirect
buffers to 'auto-revert-buffer-list'.
(auto-revert-notify-rm-watch): Don't disable file notifications
when killing an indirect buffer.  (Bug#71424)

(cherry picked from commit 772fb960a948b6951f24442b372ce6833887669b)

5 months ago; * doc/lispref/display.texi (Image Descriptors): Clarify text.
Eli Zaretskii [Sat, 8 Jun 2024 13:19:54 +0000 (16:19 +0300)]
; * doc/lispref/display.texi (Image Descriptors): Clarify text.

(cherry picked from commit 4468216f17aca811c02b49d18c5bee4fb9fd6943)

5 months agoFix 'string-edit' when abort-callback is omitted
Eli Zaretskii [Sat, 8 Jun 2024 13:07:24 +0000 (16:07 +0300)]
Fix 'string-edit' when abort-callback is omitted

* lisp/textmodes/string-edit.el (string-edit): Set
'string-edit--abort-callback' even if ABORT-CALLBACK is nil.
(Bug#71406)

(cherry picked from commit bd50c804eca3c15388d4c2d0ad12040c562bddb0)

5 months ago; * lisp/pulse.el: Update commentary
Eshel Yaron [Sat, 8 Jun 2024 19:43:03 +0000 (21:43 +0200)]
; * lisp/pulse.el: Update commentary

5 months agoMove pulse.el out of CEDET
Eshel Yaron [Sat, 8 Jun 2024 19:42:36 +0000 (21:42 +0200)]
Move pulse.el out of CEDET

5 months ago(xref-find-definitions-at-mouse): Cease setting point
Eshel Yaron [Sat, 8 Jun 2024 19:41:00 +0000 (21:41 +0200)]
(xref-find-definitions-at-mouse): Cease setting point

5 months agoAdd hook 'refactor-replacement-functions'
Eshel Yaron [Sat, 8 Jun 2024 19:40:23 +0000 (21:40 +0200)]
Add hook 'refactor-replacement-functions'

5 months agoFix Python mode error caused by incorrect indentation
kobarity [Sat, 16 Sep 2023 14:14:45 +0000 (23:14 +0900)]
Fix Python mode error caused by incorrect indentation

* lisp/progmodes/python.el (python-indent--calculate-indentation):
Guard against negative indentation.  (Bug #65870)

* test/lisp/progmodes/python-tests.el
(python-indent-badly-indented-block-end): New test.

(cherry picked from commit c03cafba390603de653def097fdcf9566d502061)

5 months agoCheck for doc-spec-function early, in interactive invocation
James Thomas [Sun, 2 Jun 2024 00:29:35 +0000 (05:59 +0530)]
Check for doc-spec-function early, in interactive invocation

* lisp/info-look.el (info-lookup-interactive-arguments):
Move here.
(info-lookup): From here.  (Bug#71314)

(cherry picked from commit d7be9fdbc009ecf314e1ae9166429188b6ddb121)

5 months agoMake 'clone-indirect-buffer-other-window' use other window
Richard Sent [Mon, 27 May 2024 15:32:00 +0000 (11:32 -0400)]
Make 'clone-indirect-buffer-other-window' use other window

Previously, depending on the settings in 'display-buffer-alist',
'clone-indirect-buffer-other-window' would display the cloned
buffer in the original window, behaving identically to
'clone-indirect-buffer' with a non-nil display-flag.  This
behavior was inconsistent with other-window commands which
always used another window.
Now, 'clone-indirect-buffer-other-window' uses
'switch-to-buffer-other-window'.  This means it uses the same
logic as other-window commands like 'find-file-other-window'
and 'info-other-window'.
display-flag was kept for API stability and functional
compatibility reasons.
* lisp/simple.el: (clone-indirect-buffer-other-window): Use
switch-to-buffer-other-window.  (Bug#70819)

(cherry picked from commit 579aaa1ec24b0bd139053919cc87b493773248ce)

5 months ago; * doc/emacs/help.texi (Help, Apropos): Improve text and indexing.
Eli Zaretskii [Sat, 8 Jun 2024 11:10:10 +0000 (14:10 +0300)]
; * doc/emacs/help.texi (Help, Apropos): Improve text and indexing.

(cherry picked from commit 53e9caa23ef0843337afcb5db4e16ef911d2e78d)

5 months agoImprove scaling of tab bar items on high-density displays
Po Lu [Sat, 8 Jun 2024 07:17:23 +0000 (15:17 +0800)]
Improve scaling of tab bar items on high-density displays

* lisp/tab-bar.el (tab-bar-auto-width-max)
(tab-bar-auto-width-min): Accept values of a new format where
the pixel width is a list and is subject to scaling.
(tab-bar-auto-width-1): New function.
(tab-bar-auto-width): Scale pixel values from t-b-a-w-min and
t-b-a-w-max.

(cherry picked from commit ed122417b98d711bacf5ed24778886bf21d86956)

5 months agoRemove touchscreen pinch event generation threshold
Po Lu [Sat, 8 Jun 2024 06:25:22 +0000 (14:25 +0800)]
Remove touchscreen pinch event generation threshold

* lisp/touch-screen.el (touch-screen-handle-aux-point-update):
Remove the said threshold.

(cherry picked from commit 4fa38af7c2dc1070e67530871a013abfaeee48c7)

5 months ago; Fix typos
Stefan Kangas [Fri, 7 Jun 2024 21:42:42 +0000 (23:42 +0200)]
; Fix typos

(cherry picked from commit bef514de4d3c88f60ad23115ec10f0ec064e9ae7)

5 months agoAvoid crashes in half-baked emacsclient frames
Eli Zaretskii [Fri, 7 Jun 2024 19:30:41 +0000 (22:30 +0300)]
Avoid crashes in half-baked emacsclient frames

If a client connection comes in while we handle a Lisp error,
the new frame creation could signal an error before the new
frame is ready for display.
* src/xdisp.c (redisplay_internal): Don't redisplay windows on
frames that were not completely set up.  (Bug#71224)

(cherry picked from commit e99a821f978530b4c397f88de145ff7ba9d31040)

5 months ago* lisp/buff-menu.el (Buffer-menu-group-sort-by): New defcustom.
Juri Linkov [Fri, 7 Jun 2024 16:57:07 +0000 (19:57 +0300)]
* lisp/buff-menu.el (Buffer-menu-group-sort-by): New defcustom.

(list-buffers--refresh): Use Buffer-menu-group-sort-by instead of the
hard-coded function (bug#70150).
(Buffer-menu-group-sort-alphabetically): New function as an option for
'Buffer-menu-group-sort-by'.
(list-buffers-noselect): Remove setting outline-minor-mode-use-buttons
to 'in-margins' that it not required for this feature to work correctly.

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups-sort):
Add optional argument 'level'.

(cherry picked from commit 9cd182dae8822e810b73b2c1c1c41955096bb2de)

5 months agoAdd new alist entry 'some-window' for 'display-buffer-use-some-window'
Juri Linkov [Fri, 7 Jun 2024 16:45:06 +0000 (19:45 +0300)]
Add new alist entry 'some-window' for 'display-buffer-use-some-window'

* doc/lispref/windows.texi (Buffer Display Action Functions):
Add details of using the alist entry 'some-window' in
'display-buffer-use-some-window'.
(Buffer Display Action Alists): Add 'some-window'.

* lisp/window.el (display-buffer-use-some-window):
Handle the alist entry 'some-window' (bug#70949).
Extend docstring with its description.

(cherry picked from commit 979365eef2f09e2c9d21cbf5ff0d350b210d4127)

5 months ago* lisp/subr.el (with-silent-modifications): Minor simplification
Stefan Monnier [Fri, 7 Jun 2024 14:57:11 +0000 (10:57 -0400)]
* lisp/subr.el (with-silent-modifications): Minor simplification

(cherry picked from commit 24082fc3c3c779dc9ac9e27135feb0fe1166f796)

5 months agoEliminate Makefile race
Po Lu [Fri, 7 Jun 2024 13:39:01 +0000 (21:39 +0800)]
Eliminate Makefile race

* java/Makefile.in (cf-stamp): Don't separately depend on
NDK_BUILD_SHARED, as this renders make liable to descend into
cross/ndk-build twice in different processes.
(clean): Don't remove nonexistent file.

(cherry picked from commit f1c9a32a234085683f5f713ac91fed5ecf768095)

5 months agoUnbreak the Cygw32 build
Eli Zaretskii [Fri, 7 Jun 2024 13:34:53 +0000 (16:34 +0300)]
Unbreak the Cygw32 build

It was broken by latest changes to w32image.c.
* src/emacs.c (main): Call 'syms_of_w32image' and
'globals_of_w32image' only if native image APIs are enabled.
(Bug#71412)

(cherry picked from commit b4b4c0fec4c52a8f9b067d1cca53fa8ddbf03799)

5 months ago; * java/INSTALL (LIBRSVG): Typo.
Po Lu [Fri, 7 Jun 2024 12:39:42 +0000 (20:39 +0800)]
; * java/INSTALL (LIBRSVG): Typo.

(cherry picked from commit 43826a9109a97546602de8e18f12723359e49640)

5 months agoDocument compilation of librsvg on Android
Po Lu [Fri, 7 Jun 2024 12:38:56 +0000 (20:38 +0800)]
Document compilation of librsvg on Android

* java/INSTALL (LIBRSVG): New section.
(BUILDING WITH OLD NDK VERSIONS): Update recommended invocation
of configure in the case of a combined toolchain.

(cherry picked from commit 7052654515d4131ffa4b478c302a152a2602c1d8)

5 months agoFix treesit-parse-string crash (bug#71012)
Yuan Fu [Sat, 1 Jun 2024 17:33:18 +0000 (10:33 -0700)]
Fix treesit-parse-string crash (bug#71012)

Parsing a large file with treesit-parse-string and then printing the
returned node crashes Emacs, because with-temp-buffer kills the temp
buffer when treesit-parse-string returns, and print.c tries to access
the node's position in the killed buffer.

* lisp/treesit.el (treesit-parse-string): Don't use with-temp-buffer.

(cherry picked from commit 00360258caddc0d8cf29ba3d9971125a06f8959b)

5 months agoCheck for buffer liveness when accessing tree-sitter node (bug#71012)
Yuan Fu [Sat, 1 Jun 2024 17:20:48 +0000 (10:20 -0700)]
Check for buffer liveness when accessing tree-sitter node (bug#71012)

* src/treesit.h (treesit_node_buffer_live_p): Declare function.
* src/print.c (print_vectorlike): Print node without position if
buffer is killed.
* src/treesit.c (treesit_node_buffer_live_p): New function.
(treesit_check_node): Add buffer liveness check.
(syms_of_treesit): New error treesit-node-buffer-killed.

(cherry picked from commit 20af58d3a13ddb5c2ca376da8cdd3fde4833ca2d)

5 months ago; Update ldefs-boot.el
Eshel Yaron [Sat, 8 Jun 2024 12:57:55 +0000 (14:57 +0200)]
; Update ldefs-boot.el

5 months agoRefine 'help--keys-narrow-to-minor'
Eshel Yaron [Sat, 8 Jun 2024 12:57:26 +0000 (14:57 +0200)]
Refine 'help--keys-narrow-to-minor'

5 months agoExtend minibuffer completion menu bar menu
Eshel Yaron [Sat, 8 Jun 2024 12:07:19 +0000 (14:07 +0200)]
Extend minibuffer completion menu bar menu

5 months agominibuf-eldef.el: Simplify
Eshel Yaron [Sat, 8 Jun 2024 09:47:36 +0000 (11:47 +0200)]
minibuf-eldef.el: Simplify

5 months ago* lisp/minibuffer.el (minibuffer-prompt): Extract from minibuf.c
Eshel Yaron [Sat, 8 Jun 2024 06:54:32 +0000 (08:54 +0200)]
* lisp/minibuffer.el (minibuffer-prompt): Extract from minibuf.c

5 months agoImprove 'basic' completion candidates highlighting (Bug#71419)
Eshel Yaron [Sat, 8 Jun 2024 06:50:19 +0000 (08:50 +0200)]
Improve 'basic' completion candidates highlighting (Bug#71419)

5 months agoRemove 'minibuffer-prompt-width'
Eshel Yaron [Fri, 7 Jun 2024 19:05:19 +0000 (21:05 +0200)]
Remove 'minibuffer-prompt-width'

5 months agoAdd completions header line button for toggling annotations
Eshel Yaron [Fri, 7 Jun 2024 18:55:59 +0000 (20:55 +0200)]
Add completions header line button for toggling annotations

5 months agoRemove and adjust some failing tests
Eshel Yaron [Fri, 7 Jun 2024 17:30:54 +0000 (19:30 +0200)]
Remove and adjust some failing tests

5 months agoRemove help-macro.el and associated cruft
Eshel Yaron [Fri, 7 Jun 2024 17:29:01 +0000 (19:29 +0200)]
Remove help-macro.el and associated cruft

5 months ago(lm-with-file): Cease enabling 'emacs-lisp-mode'
Eshel Yaron [Fri, 7 Jun 2024 11:27:17 +0000 (13:27 +0200)]
(lm-with-file): Cease enabling 'emacs-lisp-mode'

This avoids running the mode hook (e.g. turning on Flymake) in
each examined file.

5 months agoAdd default sorting and history variable to 'read-library-name'
Eshel Yaron [Fri, 7 Jun 2024 11:17:14 +0000 (13:17 +0200)]
Add default sorting and history variable to 'read-library-name'

5 months ago; Update ldefs-boot.el
Eshel Yaron [Fri, 7 Jun 2024 10:54:44 +0000 (12:54 +0200)]
; Update ldefs-boot.el

5 months agoFix names of TeX-related major-modes
Arash Esbati [Wed, 5 Jun 2024 19:37:43 +0000 (21:37 +0200)]
Fix names of TeX-related major-modes

* lisp/ffap.el (ffap-alist, ffap-string-at-point-mode-alist): Add
entries for mode names introduced in AUCTeX v14.  Use
`plain-tex-mode' for built-in mode.  (bug#71376)

(cherry picked from commit 57c0549c4f99703589279f426a50ae8acab17905)

5 months agoFix tree-sitter markup in Elisp manual
Basil L. Contovounesios [Fri, 7 Jun 2024 09:05:19 +0000 (11:05 +0200)]
Fix tree-sitter markup in Elisp manual

* doc/lispref/parsing.texi (Retrieving Nodes, User-defined Things)
(Multiple Languages): Mark up variable names as @code, not
metasyntactic @var.

(cherry picked from commit 6dd3c6023e53779035161ef71d342163d8c8a47a)

5 months agoFix user-error usage in sgml-mode.el
Basil L. Contovounesios [Fri, 7 Jun 2024 08:47:14 +0000 (10:47 +0200)]
Fix user-error usage in sgml-mode.el

* lisp/textmodes/sgml-mode.el (html-mode--image-yank-handler):
Address recent byte-compiler format string warnings (bug#71379).

(cherry picked from commit 025c3eaf9cc9956ff5a10a7bf09a26f176919a28)

5 months ago* lisp/buff-menu.el: Mark all entries in outline.
Juri Linkov [Fri, 7 Jun 2024 06:45:05 +0000 (09:45 +0300)]
* lisp/buff-menu.el: Mark all entries in outline.

(Buffer-menu-mark, Buffer-menu-unmark, Buffer-menu-delete)
(Buffer-menu-save): Mark all entries in the outline
when `outline-minor-mode' is enabled and point is
on the outline heading line (bug#70150).
(Buffer-menu-backup-unmark): Support outline heading lines.

(cherry picked from commit b18bdbb2c1ea004a3ad8f7c1716fcbc6a61ef927)

5 months ago; * src/dispnew.c (update_frame_line): Fix thinko (bug#71289).
Eli Zaretskii [Fri, 7 Jun 2024 06:11:04 +0000 (09:11 +0300)]
; * src/dispnew.c (update_frame_line): Fix thinko (bug#71289).

(cherry picked from commit 7d36bb0547fd2f1e0315edbe579bed68796d5c39)

5 months agoEglot: better fix for bug#70724
João Távora [Thu, 6 Jun 2024 22:08:28 +0000 (17:08 -0500)]
Eglot: better fix for bug#70724

If the project's root is or destroyed , this may happen for a
variety of reasons, including reasons affecting non-reconnection
scenarios, so better to check in eglot--connect.

An Eglot "reconnection" has always created as accurate a copy of
the previous server object as possible, down to the 'eq'ness or
the saved initargs, language ids, etc.  So re-querying for
projects is not the thing to do here.

A new different server can be created with `M-x eglot` which will
ask about shutting down the existing one.

* lisp/progmodes/eglot.el (eglot-reconnect):  Revert previous change.
(eglot--connect):  Do sanity check here

(cherry picked from commit 6906ed28f1b4ac0cf0a2a725e7402290f33c26e2)

5 months agoeglot-reconnect: Re-fetch the current project
Dmitry Gutov [Thu, 6 Jun 2024 20:26:25 +0000 (23:26 +0300)]
eglot-reconnect: Re-fetch the current project

* lisp/progmodes/eglot.el (eglot-reconnect): Retrieve the current
project just in case something changed (bug#70724).

(cherry picked from commit b571c6571c8bc4c34569650104aee273c19cbfd4)

5 months agoPrevent another abort in 'cmcheckmagic'
Eli Zaretskii [Thu, 6 Jun 2024 14:43:00 +0000 (17:43 +0300)]
Prevent another abort in 'cmcheckmagic'

* src/dispnew.c (update_frame_line): Prevent rare aborts when TTY
frame is resized.  (Bug#71289)

(cherry picked from commit 91f51f5ac5e6343359ffcadc8341b8da767aab87)

5 months agoMinor enhancements to the Android build system
Po Lu [Thu, 6 Jun 2024 12:55:40 +0000 (20:55 +0800)]
Minor enhancements to the Android build system

* build-aux/ndk-build-helper-1.mk:

* build-aux/ndk-build-helper-2.mk:

* cross/ndk-build/ndk-build-shared-library.mk:

* cross/ndk-build/ndk-build-static-library.mk:

* cross/ndk-build/ndk-resolve.mk
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)):
(NDK_LOCAL_SO_NAMES_$(LOCAL_MODULE)):
(NDK_LOCAL_A_NAMES_$(LOCAL_MODULE)): Reinforce tests for string
prefixes.

* m4/ndk-build.m4 (ndk_INIT): Guarantee that a module's
dependencies are recorded.

* configure.ac (XCONFIGURE): Prepare for building librsvg.

(cherry picked from commit a48f062e36be3ce5890a8a789272f31f074fea40)

5 months agoEnable code block evaluation when generating .org manuals
Kyle Meyer [Wed, 29 May 2024 04:05:46 +0000 (00:05 -0400)]
Enable code block evaluation when generating .org manuals

* doc/misc/Makefile.in ($(1:.org=.texi)): Enable code
block evaluation in Org mode manual and other .org manuals
to produce automatically generated parts.  (Bug#71394)
When testing a scratch sync to the Emacs repo, the build
failed with

 make[3]: Leaving directory '/home/kyle/src/savannah/emacs--master/lisp'
 Evaluate this emacs-lisp code block on your system? (yes or no)
 Error: end-of-file ("Error reading from stdin")
   yes-or-no-p("Evaluate this emacs-lisp code block on your system? ")

That's expected given 715148131 (org-manual: Automatically
generate export option list, 2023-07-31) and the default
org-confirm-babel-evaluate value.

(cherry picked from commit c86995d07e98e6f1a48f8df791aa4164316159d9)

5 months agoNew command 'describe-library'
Eshel Yaron [Fri, 7 Jun 2024 09:45:19 +0000 (11:45 +0200)]
New command 'describe-library'

* lisp/emacs-lisp/find-func.el
(find-library-include-other-files): Deprecate.
* lisp/emacs-lisp/find-func.el
(read-library-name-narrow-completions-by-keyword)
(find-func--finder-keyword-affixation)
(read-library-name-affixation): New functions.
(read-library-name): Add completions narrowing, annotations, and
a new argument PROMPT.
(display-library, find-library, find-library-other-window)
(find-library-other-frame)
* lisp/files.el (load-library)
* lisp/subr.el (locate-library): Use new PROMPT argument.
* lisp/help-mode.el (help-library-def): New button type.
* lisp/help-fns.el (describe-library): New command.
* lisp/help.el (help-map): Bind it to 'C-h C-l'.

5 months ago* lisp/progmodes/xref.el (xref-revert-buffer): Require 'bookmark'
Eshel Yaron [Fri, 7 Jun 2024 09:44:09 +0000 (11:44 +0200)]
* lisp/progmodes/xref.el (xref-revert-buffer): Require 'bookmark'

5 months ago; Fix last change in sqlite.c
Eli Zaretskii [Thu, 6 Jun 2024 10:06:58 +0000 (13:06 +0300)]
; Fix last change in sqlite.c

* etc/NEWS:
* doc/lispref/text.texi (Database):
* src/sqlite.c (Fsqlite_execute_batch): Fix last change (Bug#70145).

(cherry picked from commit 9da2faf73b7f2e773dfb778e49ed90e58a852e43)

5 months agoAdd 'sqlite-execute-batch' command
Javier Olaechea [Mon, 1 Apr 2024 04:07:10 +0000 (23:07 -0500)]
Add 'sqlite-execute-batch' command

This command is similar to 'sqlite-execute' except that it
executes multiple statements in exchange for not accepting
any arguments.  (Bug#70145)
* src/sqlite.c (Fsqlite_execute_batch): New function.

* test/src/sqlite-tests.el (sqlite-multiple-statements): Add
smoke test for 'sqlite-execute-batch'.

* etc/NEWS: Mention new command 'sqlite-execute-batch'.
* doc/lispref/text.texi (Database): Document the new command.

(cherry picked from commit 23ef989935d38fe5c2c105933ae5f4d692656c72)

5 months agoFormat string warnings for more functions (bug#71379)
Mattias Engdegård [Wed, 5 Jun 2024 16:28:59 +0000 (18:28 +0200)]
Format string warnings for more functions (bug#71379)

* lisp/emacs-lisp/bytecomp.el (byte-compile-format-like):
Add message-box, message-or-box, warn and user-error.

(cherry picked from commit 32bfc825a7e4848f2bf28987ab5259d4031ff6aa)

5 months agoAttempt to fix rare assertion violations in 'mark_terminals'
Eli Zaretskii [Thu, 6 Jun 2024 07:47:21 +0000 (10:47 +0300)]
Attempt to fix rare assertion violations in 'mark_terminals'

* src/terminal.c (delete_terminal): Block input while we modify
the frame list and 'terminal_list'.  (Bug#71289)

(cherry picked from commit 7fbafb9d9527f3888469dead8309fd748d2fb9e0)

5 months ago* java/AndroidManifest.xml.in: Revert portions of last change.
Po Lu [Thu, 6 Jun 2024 01:15:50 +0000 (09:15 +0800)]
* java/AndroidManifest.xml.in: Revert portions of last change.

(cherry picked from commit 0467b756aaef713fb948e2746e1333a9d86e2e7e)

5 months agoSelect correct frame after enabling erc-nickbar-mode
F. Jason Park [Tue, 4 Jun 2024 17:42:35 +0000 (10:42 -0700)]
Select correct frame after enabling erc-nickbar-mode

* lisp/erc/erc-speedbar.el (erc-speedbar--ensure): Re-select frame
originally selected when earlier calling `speedbar-frame-mode'.  Do
this because `speedbar-frame' may become the new selected frame when
multiple visible frames exist.
(erc-nickbar-disable): Don't expect the mode to have been enabled
previously.

(cherry picked from commit 99842876bfe15b97e39863ac926ef299e6085dce)

5 months agoDon't recurse in erc-server-delayed-check-reconnect
F. Jason Park [Tue, 28 May 2024 07:32:13 +0000 (00:32 -0700)]
Don't recurse in erc-server-delayed-check-reconnect

* lisp/erc/erc-backend.el (erc-server-delayed-check-reconnect): Run
`reschedule' function on a timer to avoid growing the stack when
calling `delete-process'.
* lisp/erc/erc-common.el (erc--favor-changed-reverted-modules-state):
Fix `pcase' condition so that changing an option to its standard value
does not earn a "STANDARD" label in Customize if that value differs
from the saved one.
* lisp/erc/erc.el (erc-open-socks-tls-stream): Reword doc string.
* test/lisp/erc/erc-tests.el (erc--with-dependent-type-match)
(erc--with-dependent-type-match): Remove useless tests (bug#71178).
* test/lisp/erc/resources/base/reconnect/unexpected-disconnect.eld:
Await phantom EOFs and PINGs to somewhat account for a race that can
result in a failure when running the suite in parallel with -jN.
* test/lisp/erc/resources/erc-scenarios-common.el
(erc-scenarios-common--print-trace): Set `debug-on-error' to t
so that errors in timers always trigger test failures.
;; * test/lisp/erc/resources/base/assoc/reconplay/foonet.eld:
;; Timeouts.
;; * test/lisp/erc/resources/base/upstream-reconnect/soju-barnet.eld:
;; Timeouts.
;; * test/lisp/erc/resources/base/mask-target-routing/foonet.eld:
;; Timeouts.
;; * test/lisp/erc/resources/join/network-id/barnet.eld: Timeout.

(cherry picked from commit 50b134c4dc828485705a0a5b5a884379ff25bb15)

5 months agoAllow multi-level outlines in tabulated-list-groups used by list-buffers
Juri Linkov [Wed, 5 Jun 2024 17:07:28 +0000 (20:07 +0300)]
Allow multi-level outlines in tabulated-list-groups used by list-buffers

* lisp/emacs-lisp/tabulated-list.el (tabulated-list-groups)
(tabulated-list-groups-categorize, tabulated-list-groups-sort)
(tabulated-list-groups-flatten): New functions (bug#70150).

* lisp/buff-menu.el (Buffer-menu-group-by): Change type from a function
to a list of functions.
(list-buffers--refresh): Use the function 'tabulated-list-groups' where
:path-function uses a list of functions from 'Buffer-menu-group-by', and
:sort-function is hard-coded to sort groups by name.
(Buffer-menu-group-by-mode, Buffer-menu-group-by-root): Remove prefix "*".

(cherry picked from commit ec8c0b0d0d8a6b8804fa3e6619242ec6db32fd19)

5 months ago; Fix last change.
Eli Zaretskii [Wed, 5 Jun 2024 16:32:17 +0000 (19:32 +0300)]
; Fix last change.

(cherry picked from commit 6fbb699bee2f54d65fbe6074735d42bbc0868c2c)

5 months agoAnother attempt to prevent crashes when resizing TTY frames
Eli Zaretskii [Wed, 5 Jun 2024 16:18:49 +0000 (19:18 +0300)]
Another attempt to prevent crashes when resizing TTY frames

* src/dispnew.c (frame_size_change_delayed): Accept frame as
argument, and check the 'new_size_p' flag of the frame in
addition to 'delayed_size_change'.  Callers changed.
(window_to_frame_vpos, build_frame_matrix_from_leaf_window): Call
'frame_size_change_delayed' instead of looking at
delayed_size_change alone.  (Bug#71289)

(cherry picked from commit e84057d072eaaa5e395d796a41bb78613844fb7c)

5 months ago; Skip commit cf9ff842395b8a4787b717d274c3151c1ab0a970
Eshel Yaron [Thu, 6 Jun 2024 10:24:27 +0000 (12:24 +0200)]
; Skip commit cf9ff842395b8a4787b717d274c3151c1ab0a970

5 months agoSimplify and generalize 'set-variable'
Eshel Yaron [Thu, 6 Jun 2024 10:21:06 +0000 (12:21 +0200)]
Simplify and generalize 'set-variable'

5 months agoAdd 'minibuffer-action' to byte compilation commands
Eshel Yaron [Thu, 6 Jun 2024 08:33:36 +0000 (10:33 +0200)]
Add 'minibuffer-action' to byte compilation commands

5 months ago(help-fns-edit-variable): Enable
Eshel Yaron [Thu, 6 Jun 2024 08:33:10 +0000 (10:33 +0200)]
(help-fns-edit-variable): Enable

5 months agoFix bug#71379
Eshel Yaron [Wed, 5 Jun 2024 16:44:26 +0000 (18:44 +0200)]
Fix bug#71379

5 months agoNew user option 'completion-preview-idle-delay'
Eshel Yaron [Wed, 5 Jun 2024 08:23:56 +0000 (10:23 +0200)]
New user option 'completion-preview-idle-delay'

Support displaying the completion preview shortly after you
pause typing (on idle) rather than immediately.

* lisp/completion-preview.el (Commentary): Update.
(completion-preview--try-update):
(completion-preview--update-from-timer): New functions.
(completion-preview--timer): New buffer-local variable.
(completion-preview-idle-delay): New user option.
(completion-preview--show): Use it.
(completion-preview--post-command):
(completion-preview-mode): Disable idle timer if active.

(cherry picked from commit f240f482e2686f9c51d33b9e11b5884b12cef7aa)

5 months agoAllow 'completion-preview-require-minimum-symbol-length' to be nil
Eshel Yaron [Wed, 5 Jun 2024 08:03:06 +0000 (10:03 +0200)]
Allow 'completion-preview-require-minimum-symbol-length' to be nil

With some completion backends, completion preview is useful not only
after a partial symbol, but also after punctuation and other non-symbol
characters.  For example, in C code it's helpful to display the
completion preview for struct members when point is after 'foo->'.
Provide an option to skip the check for minimum symbol length at point
in order to support this use case.

* lisp/completion-preview.el
(completion-preview-minimum-symbol-length): Mention possible nil
value in type and docstring.
(completion-preview-require-minimum-symbol-length): Skip check
if 'completion-preview-minimum-symbol-length' is nil.

(cherry picked from commit c11fe940064724e5c41af20fdb0f60c49952f936)

5 months agoFix Mac OS build
Po Lu [Wed, 5 Jun 2024 09:11:27 +0000 (17:11 +0800)]
Fix Mac OS build

* src/nsfns.m (ns_make_frame_key_window): Restore, but
only when NS_IMPL_COCOA.

(cherry picked from commit b2ed1ed1d87c9a3c306554ab7a653717450cc562)

5 months agoFix the GNUstep build
Po Lu [Wed, 5 Jun 2024 08:41:52 +0000 (16:41 +0800)]
Fix the GNUstep build

* src/Makefile.in (NON_OBJC_CFLAGS): Add
-Wflex-array-member-not-at-end.

* src/lisp.h (flush_stack_call_func): "asm" is unavailable in
Objective C.

* src/nsfns.m (ns_make_frame_key_window): Delete unused
function.

(cherry picked from commit 533ed7b221ab40be217e951e925739360e457b50)

5 months agoRehighlight hi-lock patterns after reverting the buffer.
Juri Linkov [Wed, 5 Jun 2024 06:38:39 +0000 (09:38 +0300)]
Rehighlight hi-lock patterns after reverting the buffer.

* lisp/hi-lock.el (hi-lock-revert-buffer-rehighlight): New function.
(hi-lock-mode): Add hi-lock-revert-buffer-rehighlight to
revert-buffer-restore-functions, and remove after mode is disabled.
https://lists.gnu.org/archive/html/emacs-devel/2024-06/msg00044.html

(cherry picked from commit 870100a8b7172a5845369ec6a2c28c2b06b7eaee)

5 months ago; Skip commit a2b6e18d6006e62525e71639771fb3bbf5e96a6c
Eshel Yaron [Wed, 5 Jun 2024 10:15:42 +0000 (12:15 +0200)]
; Skip commit a2b6e18d6006e62525e71639771fb3bbf5e96a6c

5 months agoReorder Calc units table
Ulrich Müller [Wed, 5 Jun 2024 06:19:56 +0000 (08:19 +0200)]
Reorder Calc units table

* lisp/calc/calc-units.el (math-standard-units): Reorder the
table, so that all CODATA values are grouped together.

(cherry picked from commit 854552fd0d14c60877e59fd53007ecf5af72418a)

5 months ago; * lisp/calc/calc-units.el: Update a comment.
Ulrich Müller [Wed, 5 Jun 2024 06:08:59 +0000 (08:08 +0200)]
; * lisp/calc/calc-units.el: Update a comment.

(cherry picked from commit 4764c53580e2bb1d85daa26823a288dc1a5af6af)

5 months agoSpelling fixes
Paul Eggert [Wed, 5 Jun 2024 05:13:47 +0000 (22:13 -0700)]
Spelling fixes

(cherry picked from commit 3dcac22dd4225fdec0b97408da38f74de2a77bef)

5 months agoAdd manual entry for treesit-primary-parser
Yuan Fu [Wed, 5 Jun 2024 04:32:19 +0000 (21:32 -0700)]
Add manual entry for treesit-primary-parser

* doc/lispref/parsing.texi (Multiple Languages): Add entry.
* etc/NEWS (Example): Add news.

(cherry picked from commit 636461686f1d36388d4523cbb10eb7ec3bbbd63e)

5 months agoRevert "New function treesit-parser-changed-ranges"
Yuan Fu [Wed, 5 Jun 2024 02:55:33 +0000 (19:55 -0700)]
Revert "New function treesit-parser-changed-ranges"

This reverts commit 996b9576713f9d63ea7ff7e9630a15cb0a0214eb.

For reason see 760b54de080.

(cherry picked from commit 2ee3edce3f5de55fc11997f522cbe2f00a4471fd)

5 months agoMore-permanent fix for build with Android NDK r10b
Paul Eggert [Tue, 4 Jun 2024 18:54:24 +0000 (11:54 -0700)]
More-permanent fix for build with Android NDK r10b

* configure.ac (gl_cv_header_working_endian_h):
Remove temporary workaround for Android.
* lib/endian.in.h: Copy latest version from Gnulib.

(cherry picked from commit 24b7bf2746fd7bf097e04c5b9363cab197edbc7c)

5 months ago* lisp/outline.el (outline-revert-buffer-rehighlight): New function.
Juri Linkov [Tue, 4 Jun 2024 16:53:47 +0000 (19:53 +0300)]
* lisp/outline.el (outline-revert-buffer-rehighlight): New function.

(outline-minor-mode): Add 'outline-revert-buffer-rehighlight' to
'revert-buffer-restore-functions'.  When mode is disabled,
remove hooks from 'revert-buffer-restore-functions' and
also from 'after-change-functions'.

(cherry picked from commit 7f415f7d5e19ea3903500426a0724e49271ac699)

5 months ago; * lisp/outline.el (outline-revert-buffer-restore-visibility): Doc fix.
Eli Zaretskii [Tue, 4 Jun 2024 16:32:25 +0000 (19:32 +0300)]
; * lisp/outline.el (outline-revert-buffer-restore-visibility): Doc fix.

(cherry picked from commit 00d7845953b85345b031fa571396196d6844610c)

5 months agoFix the build with mingw.org's MinGW
Eli Zaretskii [Tue, 4 Jun 2024 16:12:38 +0000 (19:12 +0300)]
Fix the build with mingw.org's MinGW

The change in boot-time.c imported from Gnulib broke the
MinGW build using mingw.org's MinGW.  It is wrong to include
sysinfoapi.h, MS documentation says to include <windows.h>.
* lib/boot-time.c: Don't include sysinfoapi.h.

(cherry picked from commit 43c354a0004145c04bbc6adf0cfaa8c21403ad8c)

5 months ago; * src/cm.c (cmcheckmagic): Typo fix.
Robert Pluim [Tue, 4 Jun 2024 13:56:41 +0000 (15:56 +0200)]
; * src/cm.c (cmcheckmagic): Typo fix.

(cherry picked from commit 3656a81850e5fddd429b5bd91d06987185ddd6d6)

5 months agoUpdate Calc units table
Ulrich Müller [Tue, 4 Jun 2024 11:29:56 +0000 (13:29 +0200)]
Update Calc units table

* lisp/calc/calc-units.el (math-standard-units): Update to 2022
CODATA adjustment.

(cherry picked from commit 820bc42357ede73aa667f4bc842ac2fb3d35973c)

5 months agoImprove a couple of grep.el error messages
Eshel Yaron [Tue, 4 Jun 2024 20:27:18 +0000 (22:27 +0200)]
Improve a couple of grep.el error messages

5 months agoSimplify some Dired prompts
Eshel Yaron [Tue, 4 Jun 2024 20:26:53 +0000 (22:26 +0200)]
Simplify some Dired prompts

5 months ago* lisp/dired.el (dired-noselect): Simplify
Eshel Yaron [Tue, 4 Jun 2024 20:26:36 +0000 (22:26 +0200)]
* lisp/dired.el (dired-noselect): Simplify