]> git.eshelyaron.com Git - emacs.git/log
emacs.git
10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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

10 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

10 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

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

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

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

(cherry picked from commit bef514de4d3c88f60ad23115ec10f0ec064e9ae7)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

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

10 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'

10 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

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

10 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

10 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)

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

10 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

10 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

10 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

10 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.

10 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'

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

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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'.

10 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'

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

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

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

10 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

10 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

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

10 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)

10 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)

10 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)

10 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)

10 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)

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

10 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)

10 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)

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

(cherry picked from commit 3dcac22dd4225fdec0b97408da38f74de2a77bef)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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)

10 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

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

10 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

10 months agoRemove 'dired-load-hook'
Eshel Yaron [Tue, 4 Jun 2024 20:23:47 +0000 (22:23 +0200)]
Remove 'dired-load-hook'

10 months agoUpdate .gitignore
Eshel Yaron [Tue, 4 Jun 2024 10:22:20 +0000 (12:22 +0200)]
Update .gitignore

10 months agoRevert "Improve key binding documentation."
Eshel Yaron [Tue, 4 Jun 2024 10:17:05 +0000 (12:17 +0200)]
Revert "Improve key binding documentation."

This reverts commit c606c2523e8b6e67b38c905a61db212defeb62a1.
It claims to improve stuff, but it just degrades it instead,

10 months agoTemporarily repair build with Android NDK r10b
Po Lu [Tue, 4 Jun 2024 08:21:58 +0000 (16:21 +0800)]
Temporarily repair build with Android NDK r10b

* configure.ac (gl_cv_header_working_endian_h): Unconditionally
define to yes on Android.

(cherry picked from commit d3bdf11d808d32de8bee54a14c73f72c834a31bb)

10 months agoCorrect previous change
Po Lu [Tue, 4 Jun 2024 07:16:01 +0000 (15:16 +0800)]
Correct previous change

* msdos/sedlibmk.inp (NEXT_AS_FIRST_DIRECTIVE_ENDIAN_H)
(NEXT_ENDIAN_H): Define to machine/endian.h.

(cherry picked from commit 14d401167d07245077bfd0bc492287d0f7a1d605)

10 months agoFix the DJGPP build
Po Lu [Tue, 4 Jun 2024 07:12:18 +0000 (15:12 +0800)]
Fix the DJGPP build

* config.bat: Update endian.in-h from endian.in.h.

* msdos/sedlibmk.inp (HAVE_ENDIAN_H)
(NEXT_AS_FIRST_DIRECTIVE_ENDIAN_H, NEXT_ENDIAN_H, ENDIAN_H)
(ENDIAN_H_JUST_MISSING_STDINT, GL_GENERATE_ENDIAN_H_CONDITION):
Define appropriately for DJGPP.

(cherry picked from commit c826acd4e1e812453ee71c32748dc3b02df6dd54)

10 months ago* lisp/outline.el (outline-revert-buffer-restore-visibility): New function.
Juri Linkov [Tue, 4 Jun 2024 06:37:02 +0000 (09:37 +0300)]
* lisp/outline.el (outline-revert-buffer-restore-visibility): New function.

(outline-minor-mode): Add 'outline-revert-buffer-restore-visibility'
to 'revert-buffer-restore-functions' (bug#69511).

(cherry picked from commit f69826a63d18782e372753d25d14a35249ef605d)

10 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Tue, 4 Jun 2024 04:57:53 +0000 (21:57 -0700)]
Update from Gnulib by running admin/merge-gnulib

* lib/endian.c, lib/endian.in.h, m4/endian_h.m4, m4/sys_cdefs_h.m4:
New files, copied from Gnulib.

(cherry picked from commit 799f78a92c6c31f4d181390523b83d036020ede1)

10 months agolwlib: pacify gcc -Wmissing-variable-declarations
Paul Eggert [Mon, 3 Jun 2024 21:43:10 +0000 (14:43 -0700)]
lwlib: pacify gcc -Wmissing-variable-declarations

* lwlib/lwlib.c (lwlib_toolkit_type): Remove unused var.
* lwlib/xlwmenu.c (submenu_destroyed): Now static.
* src/xmenu.c (widget_id_tick): Declare extern, as a FIXME.

(cherry picked from commit ce660c5c304e7261cae66224ad90c0dd3db363af)

10 months agoCheck for a real process when trying to find password prompts in Eshell
Jim Porter [Sun, 2 Jun 2024 20:07:10 +0000 (13:07 -0700)]
Check for a real process when trying to find password prompts in Eshell

* lisp/eshell/esh-mode.el (eshell-watch-for-password-prompt): Use
'eshell-head-process'.

(cherry picked from commit cd7dd3e675ef2e3ae6e30ee70523ceb7f1fd1d67)

10 months agoAdd an "Interaction" chapter to the Eshell manual
Jim Porter [Fri, 31 May 2024 16:36:03 +0000 (09:36 -0700)]
Add an "Interaction" chapter to the Eshell manual

* doc/misc/eshell.texi (Interaction): New chapter.
(Completion, History): Move into "Interaction" and add key indexing.
(Key rebinding): Add key indexing.
(Command Index): Add this index.

(cherry picked from commit 991600a82c7678fa15301e609f259cf3ec184089)