emacs.git
2 years agodired-listing-switches handles connection-local values if exist
Michael Albinus [Sun, 10 Dec 2023 11:26:38 +0000 (12:26 +0100)]
dired-listing-switches handles connection-local values if exist

* doc/emacs/dired.texi (Dired Enter):
* doc/misc/tramp.texi (Frequently Asked Questions):
* etc/NEWS: 'dired-listing-switches' handles connection-local
values if exist.

* doc/lispref/variables.texi (Applying Connection Local Variables):
Fix decription of connection-local-default-application.

* lisp/dired.el (dired-listing-switches): Adapt docstring.
(dired-internal-noselect, dired-mode):
* lisp/dired-x.el (dired-virtual):
* lisp/files.el (recover-file, recover-session):
* lisp/net/ange-ftp.el (ange-ftp-get-files): Use connection-local
value of `dired-listing-switches'.

* lisp/files-x.el (connection-local-value): Adapt docstring.

* lisp/man.el (Man-shell-file-name): Use `connection-local-value'.

2 years agoTweak doc of `analyze-text-conversion` vs `post-self-insert-hook`
Stefan Monnier [Sat, 9 Dec 2023 23:03:48 +0000 (18:03 -0500)]
Tweak doc of `analyze-text-conversion` vs `post-self-insert-hook`

* lisp/simple.el (analyze-text-conversion): Fix typo.

* lisp/progmodes/cc-mode.el (c-initialize-cc-mode): Add comment about
`post-text-conversion-hook`.

2 years agoFix desktop-save for dired buffers (bug#66697)
Manuel Giraud [Sat, 9 Dec 2023 12:02:19 +0000 (13:02 +0100)]
Fix desktop-save for dired buffers (bug#66697)

* lisp/dired.el (dired-desktop-save-p): Move all logic here.  Carry on
when 'desktop-files-not-to-save' is nil.
(dired-desktop-buffer-misc-data): Use it.

2 years ago; Auto-commit of loaddefs files.
Eli Zaretskii [Sat, 9 Dec 2023 12:59:08 +0000 (07:59 -0500)]
; Auto-commit of loaddefs files.

2 years ago; * lisp/progmodes/gud.el (lldb): Fix trailing whitespace.
Eli Zaretskii [Sat, 9 Dec 2023 12:57:35 +0000 (07:57 -0500)]
; * lisp/progmodes/gud.el (lldb): Fix trailing whitespace.

2 years ago; * doc/misc/modus-themes.org: Fix merge snafu.
Eli Zaretskii [Sat, 9 Dec 2023 12:46:45 +0000 (07:46 -0500)]
; * doc/misc/modus-themes.org: Fix merge snafu.

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 9 Dec 2023 12:25:21 +0000 (07:25 -0500)]
Merge from origin/emacs-29

0f361cc985d ; Minor copyedits in description of ':box' face property
46fe7a17f53 Fix dragging mode line on text terminals with a mouse (bu...
12daf386f37 ; * doc/lispref/processes.texi (Network): Fix wording and...
037d858dc1a (rust-ts-mode): Set electric-indent-chars
dc9b733ab88 js-ts-mode: Highlight function parameters inside destruct...
4a72f13bdfb js-ts-mode: Highlight property shorthands in assignments
83ed9018ede (js--treesit-font-lock-settings): Highlight parameters in...
ad0f87bb4c3 (js--treesit-font-lock-settings): Remove some duplicates
71c5f3694fd ; Another fix of doc string of 'message-mail-user-agent' ...
04a39353bae ; * lisp/gnus/message.el (message-mail-user-agent): Doc f...
82ddcf37ec6 ; * doc/lispref/files.texi (Changing Files): Fix last cha...
89068516b3e Don't claim to signal an error when deleting a nonexistin...
4fd254e1830 * lisp/indent.el (indent-rigidly): Improve prompt (bug#67...
5f923ff1a6a ; Fix typos
a1f88963f5d rust-ts-mode--comment-docstring: Handle block doc comments
a547b0e2e83 rust-ts-mode--comment-docstring: Fix/improve the previous...

2 years ago; Minor copyedits in description of ':box' face property
Eli Zaretskii [Sat, 9 Dec 2023 11:05:07 +0000 (13:05 +0200)]
; Minor copyedits in description of ':box' face property

* doc/lispref/display.texi (Face Attributes): Rearrange
description of ':box' attributes.  Suggested by Arash Esbati
<arash@gnu.org>.  (Bug#67713)

2 years ago; Fix documentation of register-preview changes
Eli Zaretskii [Sat, 9 Dec 2023 10:02:48 +0000 (12:02 +0200)]
; Fix documentation of register-preview changes

* etc/NEWS: Fix wording of 'register-use-preview' entry.

* lisp/register.el (register-use-preview): Doc fix.  Add ':version'.

2 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Sat, 9 Dec 2023 09:25:58 +0000 (10:25 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

2 years agoDocument ert-font-lock
Vladimir Kazanov [Sat, 9 Dec 2023 09:25:26 +0000 (10:25 +0100)]
Document ert-font-lock

* doc/misc/ert.texi: Expand the manual.

* etc/NEWS: Mention ert-font-lock.

2 years agoNew macro connection-local-value
Michael Albinus [Sat, 9 Dec 2023 09:13:14 +0000 (10:13 +0100)]
New macro connection-local-value

* doc/lispref/variables.texi (Applying Connection Local Variables):
Add macro 'connection-local-value'.

* etc/NEWS: Add macro 'connection-local-value'.

* lisp/files-x.el (connection-local-value): New macro.
(path-separator, null-device): Use it.

* test/lisp/files-x-tests.el
(files-x-test-connection-local-value): New test.

2 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 9 Dec 2023 09:07:22 +0000 (11:07 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

2 years ago; Hide completion preview when switching windows
Eshel Yaron [Tue, 5 Dec 2023 20:04:43 +0000 (21:04 +0100)]
; Hide completion preview when switching windows

* lisp/completion-preview.el
(completion-preview--window-selection-change): New function.
(completion-preview-active-mode): Add it to
'window-selection-change-functions'.  (Bug#67650)

2 years ago; * etc/NEWS: Fix typos.
Michael Albinus [Sat, 9 Dec 2023 09:05:20 +0000 (10:05 +0100)]
; * etc/NEWS: Fix typos.

2 years agoRemove old VC packages from 'package-alist' after installing
Philip Kaludercic [Sat, 9 Dec 2023 09:03:37 +0000 (10:03 +0100)]
Remove old VC packages from 'package-alist' after installing

* lisp/emacs-lisp/package-vc.el (package-vc--unpack-1): Wait for all
system operations to have been completed, before proceeding to remove
old package descriptors from 'package-alist'.  This avoids loosing a
package if an error occurs during upgrades.

2 years ago; Fix documentation of 'minibuffer-sort-by-history'
Eli Zaretskii [Sat, 9 Dec 2023 09:04:13 +0000 (11:04 +0200)]
; Fix documentation of 'minibuffer-sort-by-history'

* etc/NEWS:
* lisp/minibuffer.el (completions-sort): Doc fix.

2 years agoAdd font-lock tests for lua-ts-mode (bug#67605)
john muhl [Sun, 3 Dec 2023 16:56:04 +0000 (10:56 -0600)]
Add font-lock tests for lua-ts-mode (bug#67605)

* test/lisp/progmodes/lua-ts-mode-tests.el (lua-ts-test-font-lock):
Add ert-font-lock tests.
(lua-ts-mode-test-indentation):
(lua-ts-test-indentation):
(lua-ts-mode-test-movement):
(lua-ts-test-movement): Rename for consistency.
* test/lisp/progmodes/lua-ts-mode-resources/font-lock.lua: New
file.

2 years ago; Fix documentation of 'dired-do-open'
Eli Zaretskii [Sat, 9 Dec 2023 08:54:07 +0000 (10:54 +0200)]
; Fix documentation of 'dired-do-open'

* lisp/dired-aux.el (dired-do-open):
* etc/NEWS: Fix documentation of 'dired-do-open'.  (Bug#18132)

2 years agoFix dragging mode line on text terminals with a mouse (bug#67457)
Jared Finder [Sat, 9 Dec 2023 08:17:05 +0000 (10:17 +0200)]
Fix dragging mode line on text terminals with a mouse (bug#67457)

* lisp/xt-mouse.el (xterm-mouse-translate-1): Fix the 'event-kind'
property of mouse-movement symbols emitted by xt-mouse.
* lisp/term/linux.el (terminal-init-linux): Call 'gpm-mouse-mode'
to set up the terminal for the mouse, if needed.

2 years ago; * doc/lispref/processes.texi (Network): Fix wording and punctuation.
Eli Zaretskii [Sat, 9 Dec 2023 07:48:40 +0000 (09:48 +0200)]
; * doc/lispref/processes.texi (Network): Fix wording and punctuation.

2 years agoCorrect phantom point generation and MDAP
Po Lu [Sat, 9 Dec 2023 03:49:04 +0000 (11:49 +0800)]
Correct phantom point generation and MDAP

* src/sfnt.c (sfnt_interpret_mdrp): Cease applying cvt
cut in, as this is contrary to the specification.
(sfnt_interpret_simple_glyph): Correct typo.
(main): Revise tests.

2 years ago; * lisp/progmodes/project.el (project-any-command): Fix last change
Sean Whitton [Fri, 8 Dec 2023 22:37:06 +0000 (22:37 +0000)]
; * lisp/progmodes/project.el (project-any-command): Fix last change

2 years agoproject-any-command: Change the method for passing project root
Dmitry Gutov [Fri, 8 Dec 2023 20:30:48 +0000 (22:30 +0200)]
project-any-command: Change the method for passing project root

* lisp/progmodes/project.el (project-any-command): Change the
check which decides whether 'project-current-directory-override'
should be used.  Instead of looking in project-prefix-map, see
whether the command's name starts with 'project-', or the symbol
has the property 'project-command' (bug#67171).

2 years ago(rust-ts-mode): Set electric-indent-chars
Christophe TROESTLER [Fri, 8 Dec 2023 19:39:31 +0000 (21:39 +0200)]
(rust-ts-mode): Set electric-indent-chars

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
Set electric-indent-chars (bug#67701).

2 years agoEglot: unbreak <host>:<port> spec in C-u M-x eglot (bug#67682)
João Távora [Fri, 8 Dec 2023 19:13:55 +0000 (19:13 +0000)]
Eglot: unbreak <host>:<port> spec in C-u M-x eglot (bug#67682)

* lisp/progmodes/eglot.el (eglot--guess-contact): Fix.

2 years agoEnsure CID filenames are unique when browsing Gnus article HTML
Eric Abrahamsen [Fri, 8 Dec 2023 17:48:51 +0000 (09:48 -0800)]
Ensure CID filenames are unique when browsing Gnus article HTML

Bug#67002

* lisp/gnus/gnus-art.el (gnus-article-browse-html-save-cid-content):
It's possible that multiple CID parts will have the same filename,
leading to temporary files clobbering one another during browsing.
This ensures that the temporary filenames are unique.

2 years agoAdd more options to register-use-preview
Thierry Volpiatto [Fri, 8 Dec 2023 10:34:08 +0000 (11:34 +0100)]
Add more options to register-use-preview

This allow showing a basic preview buffer or no preview buffer at all.

* lisp/register.el (register-use-preview): Use choice with three
  options.
(register-read-with-preview): Use a basic buffer without navigation,
  highlighting etc... when register-use-preview is nil, and no buffer
  at all when set to 'never.

2 years agoAllow inserting registers in minibuffer (bug#67702)
Thierry Volpiatto [Fri, 8 Dec 2023 07:09:38 +0000 (08:09 +0100)]
Allow inserting registers in minibuffer (bug#67702)

* lisp/register.el (register-read-with-preview): Bind
`enable-recursive-minibuffers`.

2 years agoExit with no confirmation (RET) when register-use-preview
Thierry Volpiatto [Sun, 3 Dec 2023 14:21:50 +0000 (15:21 +0100)]
Exit with no confirmation (RET) when register-use-preview

is non nil and .

This is done by exiting minibuffer when selected register is empty or
when just jumping or inserting.

* lisp/register.el (register-read-with-preview): Do it.

2 years ago; Fix documentation of 'completion-auto-deselect'
Eli Zaretskii [Fri, 8 Dec 2023 08:42:22 +0000 (10:42 +0200)]
; Fix documentation of 'completion-auto-deselect'

* lisp/minibuffer.el (completion-auto-deselect): Doc fix.

* etc/NEWS: Improve wording of corresponding entry.

2 years agoDisplay glyphs whose first contours commence at origin
Po Lu [Fri, 8 Dec 2023 02:55:02 +0000 (10:55 +0800)]
Display glyphs whose first contours commence at origin

* src/sfnt.c (sfnt_build_append): Don't disregard redundant
motion if outline is empty.  Problem encountered in the "M"
glyph within Source Code Pro VF Italic.

2 years agojs-ts-mode: Highlight function parameters inside destructuring
Dmitry Gutov [Fri, 8 Dec 2023 02:20:39 +0000 (04:20 +0200)]
js-ts-mode: Highlight function parameters inside destructuring

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Highlight function parameters declared using destructuring syntax.

2 years agojs-ts-mode: Highlight property shorthands in assignments
Dmitry Gutov [Fri, 8 Dec 2023 02:12:21 +0000 (04:12 +0200)]
js-ts-mode: Highlight property shorthands in assignments

* lisp/progmodes/js.el (js--treesit-lhs-identifier-query): Match
property shorthands (which turn into variable reference).
(js--treesit-fontify-assignment-lhs): Use the matches.

2 years ago(js--treesit-font-lock-settings): Highlight parameters in function expression
Dmitry Gutov [Fri, 8 Dec 2023 01:58:18 +0000 (03:58 +0200)]
(js--treesit-font-lock-settings): Highlight parameters in function expression

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Highlight parameters in a function expression (the node type
'function').  Make the matcher for 'formal_parameters' independent
of the parent, that just created duplication.

2 years ago(js--treesit-font-lock-settings): Remove some duplicates
Dmitry Gutov [Fri, 8 Dec 2023 01:48:45 +0000 (03:48 +0200)]
(js--treesit-font-lock-settings): Remove some duplicates

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Remove queries from 'function' that duplicate entries in
'definition' (one of them with a typo).

2 years ago* lisp/loadup.el: Check advice after `rmc.el`; turn error into warning
Stefan Monnier [Thu, 7 Dec 2023 18:13:47 +0000 (13:13 -0500)]
* lisp/loadup.el: Check advice after `rmc.el`; turn error into warning

2 years ago* lisp/mail/emacsbug.el (report-emacs-bug): Insert empty X-Debbugs-Cc
Stefan Monnier [Thu, 7 Dec 2023 16:30:22 +0000 (11:30 -0500)]
* lisp/mail/emacsbug.el (report-emacs-bug): Insert empty X-Debbugs-Cc

2 years agoTramp cleanup
Michael Albinus [Thu, 7 Dec 2023 13:02:49 +0000 (14:02 +0100)]
Tramp cleanup

* doc/misc/tramp.texi (Remote processes): Adapt index.

* lisp/net/tramp.el (tramp-skeleton-directory-files)
(tramp-skeleton-make-symbolic-link):
* lisp/net/tramp-cache.el (with-tramp-saved-file-property)
(with-tramp-saved-file-properties)
(with-tramp-saved-connection-property)
(with-tramp-saved-connection-properties): Use `setf' but `setq' in macro.

* lisp/net/tramp-compat.el (tramp-compat-funcall): Declare debug.

* lisp/net/tramp-crypt.el (tramp-crypt-file-name-p): Exclude lock files.
(tramp-crypt-file-name-handler-alist): Use `identity' for
`abbreviate-file-name'.
(tramp-crypt-add-directory, tramp-crypt-remove-directory):
Adapt docstrings.
(tramp-crypt-cleanup-connection): New defun.  Add it to
`tramp-cleanup-connection-hook'

* lisp/net/tramp-sh.el (tramp-sh-extra-args): Extend regexp.

2 years agoAdd option eshell-history-append
Liu Hui [Thu, 16 Nov 2023 03:45:28 +0000 (11:45 +0800)]
Add option eshell-history-append

* lisp/eshell/em-hist.el (eshell-history-append): New option.
(eshell--save-history): New function.
(eshell-hist-initialize):
(eshell-save-some-history): Replace eshell-write-history with
eshell--save-history, which respects the new option.
* doc/misc/eshell.texi (History): Document the change.
* etc/NEWS: Announce the change.  (Bug#66700)

2 years agoSet a default locale on Android
Po Lu [Thu, 7 Dec 2023 06:05:35 +0000 (14:05 +0800)]
Set a default locale on Android

* doc/emacs/android.texi (Android Environment): Revise for
change.

* src/android.c (initEmacs): Set LANG to either en_US.utf8 or C,
subject to whether the system is newer than Android
5.0 (inclusive).

2 years agoPrevent closing Emacs frames upon locale changes
Po Lu [Thu, 7 Dec 2023 05:26:41 +0000 (13:26 +0800)]
Prevent closing Emacs frames upon locale changes

* java/AndroidManifest.xml.in: Express that Emacs can respond
to locale and fontScale changes.

2 years ago; Fix compiler warnings
Po Lu [Thu, 7 Dec 2023 05:14:51 +0000 (13:14 +0800)]
; Fix compiler warnings

* lisp/tab-bar.el (touch-screen-delay):

* lisp/tab-line.el (touch-screen-delay): Declare variables.

* lisp/touch-screen.el (touch-screen-hold): Autoload.

2 years agoTweak plus and minus svg icons
Yuan Fu [Wed, 6 Dec 2023 21:25:40 +0000 (13:25 -0800)]
Tweak plus and minus svg icons

Shrink them a tiny bit so they look the same size as cross.

* etc/images/symbols/minus_16.svg:
* etc/images/symbols/plus_16.svg: Shrink a bit.

2 years ago* lisp/dired-aux.el (dired-do-open): New command (bug#18132).
Juri Linkov [Wed, 6 Dec 2023 17:28:52 +0000 (19:28 +0200)]
* lisp/dired-aux.el (dired-do-open): New command (bug#18132).

* lisp/dired.el (dired-context-menu): Bind 'dired-do-open' to "Open".

* lisp/dired-aux.el (shell-command-guess-xdg): Use 'shell-quote-argument'.

2 years ago; Remove long annotation for word completion candidates
Eshel Yaron [Wed, 6 Dec 2023 13:41:56 +0000 (14:41 +0100)]
; Remove long annotation for word completion candidates

* lisp/textmodes/ispell.el (ispell-completion-at-point): Remove
':annotation-function' from return value.

2 years agoCease preloading touch-screen.el outside X and Android
Po Lu [Wed, 6 Dec 2023 02:34:41 +0000 (10:34 +0800)]
Cease preloading touch-screen.el outside X and Android

* lisp/calc/calc.el (touch-screen-display-keyboard):

* lisp/minibuffer.el (clear-minibuffer-message):

* lisp/term.el (touch-screen-display-keyboard): Declare
touch-screen-display-keyboard before binding or setting it.

* lisp/loadup.el: Don't autoload touch-screen.el outside X and
Android.

* lisp/touch-screen.el: Autoload functions called from commands
responding to touch screen events.

2 years agoElDoc: make eldoc-display-in-echo-are useful from M-x eldoc
João Távora [Tue, 5 Dec 2023 21:40:49 +0000 (15:40 -0600)]
ElDoc: make eldoc-display-in-echo-are useful from M-x eldoc

M-x eldoc is ElDoc's interactive entry point for on-demand
documentation for users that don't want the behind-the-scenes idle
timer behaviour.

However, eldoc-display-in-echo-area, a member of
eldoc-display-functions, refused to do anything because it thought it
didn't have permission to use the echo area, which isn't true
in interactive use cases.  Fix that.

See also: https://github.com/joaotavora/eglot/discussions/1328

* lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use
INTERACTIVE argument.  Rework comments.
(Version): Bump to 1.15.0

2 years ago* lisp/emacs-lisp/package.el (package-activate-all): Fix second-order warning
Stefan Monnier [Tue, 5 Dec 2023 20:02:24 +0000 (15:02 -0500)]
* lisp/emacs-lisp/package.el (package-activate-all): Fix second-order warning

2 years ago(package-activate-all): Be more robust when quickstart fails
Stefan Monnier [Tue, 5 Dec 2023 19:24:45 +0000 (14:24 -0500)]
(package-activate-all): Be more robust when quickstart fails

Quickstart can fail in all kinds of ways, for example if a package
was removed without updating the quickstart file.

* lisp/emacs-lisp/package.el (package-activate-all): Revert to the slow
path if the quickstart signals an error.
(package--activate-all): Fix compilation warning without an autoload.

2 years ago; * lisp/transient.el: Revert accidental changes
Jonas Bernoulli [Tue, 5 Dec 2023 19:04:21 +0000 (20:04 +0100)]
; * lisp/transient.el: Revert accidental changes

2 years ago; * lisp/transient.el: Set Version instead of Package-Version
Jonas Bernoulli [Tue, 5 Dec 2023 19:01:44 +0000 (20:01 +0100)]
; * lisp/transient.el: Set Version instead of Package-Version

`finder-compile-keywords' only considers the "Version" header.

2 years agoUpdate to Transient v0.5.2
Jonas Bernoulli [Tue, 5 Dec 2023 18:59:34 +0000 (19:59 +0100)]
Update to Transient v0.5.2

2 years ago; Another fix of doc string of 'message-mail-user-agent' (bug#67638).
Eli Zaretskii [Tue, 5 Dec 2023 17:12:00 +0000 (19:12 +0200)]
; Another fix of doc string of 'message-mail-user-agent' (bug#67638).

2 years ago; * lisp/gnus/message.el (message-mail-user-agent): Doc fix (bug#67638).
Eli Zaretskii [Tue, 5 Dec 2023 14:29:41 +0000 (16:29 +0200)]
; * lisp/gnus/message.el (message-mail-user-agent): Doc fix (bug#67638).

2 years ago; * lisp/loadup.el: Don't prohibit advice when ls-lisp is loaded.
Po Lu [Tue, 5 Dec 2023 10:37:11 +0000 (18:37 +0800)]
; * lisp/loadup.el: Don't prohibit advice when ls-lisp is loaded.

2 years agoUpdate handling of advices during preload
Jens Schmidt [Mon, 20 Nov 2023 22:42:01 +0000 (23:42 +0100)]
Update handling of advices during preload

* lisp/emacs-lisp/comp-common.el
(native-comp-never-optimize-functions): Remove macroexpand and
rename-buffer from default value.
* lisp/emacs-lisp/comp.el (comp-call-optim-form-call): Document call
optimization for advised primitives.
* lisp/emacs-lisp/nadvice.el (advice-add): Remove references to TODOs
that were completed already earlier.
* lisp/loadup.el: Disallow advices during preload.  (Bug#67005)

2 years agocomp: Fix mvar dependency chain (bug#67239)
Andrea Corallo [Mon, 4 Dec 2023 18:14:28 +0000 (19:14 +0100)]
comp: Fix mvar dependency chain (bug#67239)

* lisp/emacs-lisp/comp.el (comp-add-cond-cstrs): Emit assume with
the original mvar as explicit rhs.
(comp-fwprop-insn): Add note.
* test/src/comp-tests.el (67239-1): Add new test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-time)
(comp-test-67239-00-f, comp-test-67239-0-f, comp-test-67239-1-f):
Define.

2 years ago* lisp/emacs-lisp/comp.el (comp--native-compile): Better log.
Andrea Corallo [Sat, 2 Dec 2023 08:53:03 +0000 (09:53 +0100)]
* lisp/emacs-lisp/comp.el (comp--native-compile): Better log.

2 years agocomp: Rename some functions
Andrea Corallo [Mon, 27 Nov 2023 14:39:24 +0000 (15:39 +0100)]
comp: Rename some functions

* lisp/emacs-lisp/comp.el (comp--known-predicate-p)
(comp--pred-to-cstr, comp-edge, comp--edge-make)
(comp--block-preds, comp--gen-counter, comp-func)
(comp--equality-fun-p, comp--arithm-cmp-fun-p, comp--set-op-p)
(comp--assign-op-p, comp--call-op-p, comp--branch-op-p)
(comp--limple-insn-call-p, comp--type-hint-p)
(comp--func-unique-in-cu-p, comp--symbol-func-to-fun)
(comp--function-pure-p, comp--alloc-class-to-container)
(comp--add-const-to-relocs, comp--prettyformat-insn)
(comp--log-func, comp--log-edges, comp-emit-setimm)
(comp-emit-lambda-for-top-level, comp-add-cond-cstrs)
(comp-collect-calls, comp-compute-dominator-tree)
(comp-function-foldable-p, comp-function-call-maybe-fold)
(comp-func-in-unit, comp-call-optim-form-call)
(comp-dead-assignments-func, comp-tco)
(comp-remove-type-hints-func, comp-remove-type-hints)
(comp-compute-function-type, comp-finalize-relocs)
(comp-compile-ctxt-to-file): Rename and update.

2 years ago; * doc/lispref/files.texi (Changing Files): Fix last change.
Eli Zaretskii [Mon, 4 Dec 2023 17:13:50 +0000 (19:13 +0200)]
; * doc/lispref/files.texi (Changing Files): Fix last change.

2 years agoDon't claim to signal an error when deleting a nonexisting file.
Philipp Stephani [Mon, 4 Dec 2023 13:17:31 +0000 (14:17 +0100)]
Don't claim to signal an error when deleting a nonexisting file.

The behavior has changed in commit
1a65afb7ecc2a52127d6164bad19313440237f9d to no longer signal an error
on ENOENT.

* doc/lispref/files.texi (Changing Files): Fix documentation about
error reporting.

2 years agoAvoid infloop with wide images
Eli Zaretskii [Mon, 4 Dec 2023 13:10:06 +0000 (15:10 +0200)]
Avoid infloop with wide images

* src/xdisp.c (produce_image_glyph): Avoid inflooping under
visual-line-mode when wide images are displayed.  (Bug#67533)

2 years ago* lisp/indent.el (indent-rigidly): Improve prompt (bug#67620).
Eli Zaretskii [Mon, 4 Dec 2023 12:22:32 +0000 (14:22 +0200)]
* lisp/indent.el (indent-rigidly): Improve prompt (bug#67620).

2 years ago; Fix typos
Stefan Kangas [Sun, 3 Dec 2023 22:31:30 +0000 (23:31 +0100)]
; Fix typos

2 years ago* lisp/emacs-lisp/comp-run.el (bytecomp): Require it (bug#67590)
Andrea Corallo [Sun, 3 Dec 2023 21:14:32 +0000 (22:14 +0100)]
* lisp/emacs-lisp/comp-run.el (bytecomp): Require it (bug#67590)

2 years ago* lisp/emacs-lisp/macroexp.el (macroexp-parse-body): Fix bug#67568
Stefan Monnier [Sun, 3 Dec 2023 19:22:48 +0000 (14:22 -0500)]
* lisp/emacs-lisp/macroexp.el (macroexp-parse-body): Fix bug#67568

This fixes a regression introduced in commit f616edb4ccce.

2 years agoAdd historical option to completions-sort
Spencer Baugh [Tue, 17 Oct 2023 13:09:55 +0000 (09:09 -0400)]
Add historical option to completions-sort

Support sorting candidates in *Completions* by the order they show up
in the minibuffer history.

Also add minibuffer-sort-alphabetically and
minibuffer-sort-by-history, which are usable for both completions-sort
and display-sort-function.

* lisp/minibuffer.el (completions-sort): Document 'historical option.
(minibuffer-completion-help): Support 'historical option.
(minibuffer-sort-alphabetically)
(minibuffer-completion-base, minibuffer-sort-by-history): Add.
* etc/NEWS: Announce it.

2 years agoDeselect the selected completion candidate when typing
Spencer Baugh [Thu, 23 Nov 2023 13:37:29 +0000 (13:37 +0000)]
Deselect the selected completion candidate when typing

minibuffer-choose-completion-or-exit submits the selected completion
candidate, if any, ignoring the contents of the minibuffer.  But a
user might select a completion candidate and then want to type
something else in the minibuffer and submit what they typed.

Now typing will automatically deselect the selected completion
candidate so that minibuffer-choose-completion-or-exit will not choose
it.

minibuffer-choose-completion has the same behavior as before, and is
not affected by the deselection.

* lisp/minibuffer.el (completion-auto-deselect, completions--deselect)
(completions--after-change): Add.
(minibuffer-completion-help): Add completions--after-change hook.
(minibuffer-next-completion): Bind completion-auto-deselect to nil to
avoid immediately deselecting the completion.
(minibuffer-choose-completion-or-exit): Bind
choose-completion-deselect-if-after so deselection takes effect.
(display-completion-list): Guarantee a newline at the beginning of
*Completions* to avoid ambiguity about candidate selection.
* lisp/simple.el (choose-completion-deselect-if-after): Add.
(choose-completion): Check choose-completion-deselect-if-after.
* etc/NEWS: Announce.

2 years agoImprove 'window-text-pixel-size' when buffer includes images
Eli Zaretskii [Sun, 3 Dec 2023 16:29:09 +0000 (18:29 +0200)]
Improve 'window-text-pixel-size' when buffer includes images

* src/xdisp.c (window_text_pixel_size): Fix computation of Y when
IGNORE_LINE_AT_END is non-nil and there's a 'display' property at
TO.  Improve movement to beginning of screen line at start.  Fix
computation of Y when lines are truncated and a line begins with a
'display' property at TO.
(produce_image_glyph): Don't crop image glyph when word-wrap is in
effect.  (Bug#67533)

2 years agoFix to "Simplify gnus-group-search-forward"
Eric Abrahamsen [Sun, 3 Dec 2023 15:16:32 +0000 (07:16 -0800)]
Fix to "Simplify gnus-group-search-forward"

This updates commit 7304cc8a9ca8a7d19baaa24f0a72c7ad9a6a9716.

2 years agorust-ts-mode--comment-docstring: Handle block doc comments
Christophe Troestler [Sat, 2 Dec 2023 20:51:15 +0000 (21:51 +0100)]
rust-ts-mode--comment-docstring: Handle block doc comments

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--comment-docstring): Handle block doc comments.
Inhibit match-data modification.

2 years agoAdd ert-font-lock
Vladimir Kazanov [Sun, 26 Nov 2023 11:48:16 +0000 (11:48 +0000)]
Add ert-font-lock

Add ert-font-lock as well as unit tests and testing resources.
* lisp/emacs-lisp/ert-font-lock.el: New library.
* test/lisp/emacs-lisp/ert-font-lock-resources/broken.js:
* test/lisp/emacs-lisp/ert-font-lock-resources/correct.js:
* test/lisp/emacs-lisp/ert-font-lock-tests.el: Unit tests.
(Bug#67460)

2 years agorust-ts-mode--comment-docstring: Fix/improve the previous change
Christophe TROESTLER [Sat, 2 Dec 2023 16:58:40 +0000 (18:58 +0200)]
rust-ts-mode--comment-docstring: Fix/improve the previous change

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--comment-docstring): Match also "inner" line docs.
Stop rebinding 'end' and use the argument's value in the
'treesit-fontify-with-override' call.

2 years agoRevert "Ensure that directory is expanded in package-vc-checkout"
Eli Zaretskii [Sat, 2 Dec 2023 15:06:45 +0000 (10:06 -0500)]
Revert "Ensure that directory is expanded in package-vc-checkout"

This reverts commit bf0b0c9c73d4793beb11e6125496d0e72d4dd67a.
It is only needed in Emacs 29.

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 2 Dec 2023 15:05:51 +0000 (10:05 -0500)]
Merge from origin/emacs-29

5f882f4ee97 ; Fix doc string punctuation in ruby-ts-mode.el.
546a68925c9 Fix 'Info-goto-node-web' when NODE is given in various forms
7ff943044e9 Fix setting cursor when the window's op line has 'line-pr...
7f0bef47ddd Drop extra parenthesis in example code in Emacs Lisp Intr...
fbaf113bf38 rust-ts-mode: appropriately fontify doc strings
bd62bdbc680 Fix example code in Emacs Lisp Introduction manual
c7e459132a9 Fix example in Emacs Lisp Intro manual
a6e9c26c8f4 ; * doc/emacs/files.texi (Save Commands): Fix last change.
f6a06ed6c5d Elisp manual: Mention 'write-region' for saving the buffer
4774a3abb4b Document, that PROCESS of signal-process can be a string
ab126284081 Fix typescript-ts-mode indentation for switch statements

2 years ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 2 Dec 2023 15:05:51 +0000 (10:05 -0500)]
; Merge from origin/emacs-29

The following commit was skipped:

ab9c62c2b33 Repair `tab-first-completion` (bug#67158)

2 years agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 2 Dec 2023 15:05:50 +0000 (10:05 -0500)]
Merge from origin/emacs-29

cd477bf07d8 Fix behavior of 'split-root-window-*' with 'C-u'
2e5d47f578a ; * doc/lispintro/emacs-lisp-intro.texi (copy-to-buffer):...
c46700deb0a Add more text to clarify the behavior of 'with-current-bu...
687c416ce9b Fix example in Emacs user manual
835902179cd ; Fix recent change in 'c-ts-mode'
169a5ff7524 ; Fix typo in Gnus manual (bug#67469).
30841c71a5d Mention Titankey in Tramp, which has passed the tests
dab7cc241f4 Fix c-ts-mode indentation after if/else (bug#67417)
f8d9dc26c78 Fix indentation for else clause in c-ts-mode (bug#67417)
bf0b0c9c73d Ensure that directory is expanded in package-vc-checkout
e551dd72f79 * etc/PROBLEMS: Add entry about pinentry with gpgsm.  (Bu...

2 years ago; Fix doc string punctuation in ruby-ts-mode.el.
Eli Zaretskii [Sat, 2 Dec 2023 14:49:55 +0000 (16:49 +0200)]
; Fix doc string punctuation in ruby-ts-mode.el.

2 years ago; Fix last change.
Eli Zaretskii [Sat, 2 Dec 2023 13:50:45 +0000 (15:50 +0200)]
; Fix last change.

2 years agoImprove font-locking in lua-ts-mode (bug#67554)
john muhl [Tue, 14 Nov 2023 22:25:43 +0000 (16:25 -0600)]
Improve font-locking in lua-ts-mode (bug#67554)

* lisp/progmodes/lua-ts-mode.el (lua-ts-mode): Move property
highlighting to level 4.
(lua-ts--keywords): Remove `true', `false' and `nil' from
keywords.
(lua-ts--font-lock-settings): Highlight assignments, functions
and labels in more places. Distinguish comment delimiters.
(lua-ts--comment-font-lock): New function.

2 years agoFix 'Info-goto-node-web' when NODE is given in various forms
Eli Zaretskii [Sat, 2 Dec 2023 13:25:08 +0000 (15:25 +0200)]
Fix 'Info-goto-node-web' when NODE is given in various forms

* lisp/info.el (Info-goto-node-web): Support all forms of node
input, per 'Info-read-node-name's documentation, and extract
FILENAME from NODE if given there.  Default NODE to "Top" if not
provided by the user.  (Bug#67531)
(Info-url-for-node): Support browsing the "Top" node.

2 years agoFacilitate using Completion Preview with the mouse (bug#67479)
Eshel Yaron [Sun, 26 Nov 2023 16:00:32 +0000 (17:00 +0100)]
Facilitate using Completion Preview with the mouse (bug#67479)

Allow users to accept the completion suggestion by clicking on it, and
to cycle between completion suggestions by scrolling (with a mouse
wheel or a trackpad) over the preview.

Also display a message by default when cycling to inform the user
about the index of the current suggestion out of the available total.

* lisp/completion-preview.el (completion-preview-highlight): New face.
(completion-preview-message-format): New user option.
(completion-preview--mouse-map): New keymap.
(completion-preview--try-table, completion-preview--show)
(completion-preview-next-candidate): Apply 'keymap' and 'mouse-face'
properties to completion preview string.
(completion-preview--internal-commands): Add 'mwheel-scroll'.  This
prevents incidental scrolls outside of the preview from dismissing the
preview when you actually want to cycle it.
(completion-preview--active-p): New function.  Use it as a
'completion-predicate' symbol property for commands that should only
be used when the preview is shown to otherwise exclude these commands
from M-x completion candidates.

2 years agoFix setting cursor when the window's op line has 'line-prefix'
Eli Zaretskii [Sat, 2 Dec 2023 12:13:24 +0000 (14:13 +0200)]
Fix setting cursor when the window's op line has 'line-prefix'

* src/xdisp.c (set_cursor_from_row): Skip glyphs that come from a
string if their 'avoid_cursor_p' flag is set.  (Bug#67486)

2 years agoMerge branch 'register_preview'
Thierry Volpiatto [Sat, 2 Dec 2023 08:04:03 +0000 (09:04 +0100)]
Merge branch 'register_preview'

2 years agoDrop extra parenthesis in example code in Emacs Lisp Introduction
Xiyue Deng [Sat, 2 Dec 2023 00:19:18 +0000 (16:19 -0800)]
Drop extra parenthesis in example code in Emacs Lisp Introduction

* doc/lispintro/emacs-lisp-intro.texi (Small buffer case): Drop
trailing unmatched parenthesis.  (Bug#67576)

Copyright-paperwork-exempt: yes

2 years agoDelete register-tests.el now no more needed
Thierry Volpiatto [Thu, 30 Nov 2023 10:04:47 +0000 (11:04 +0100)]
Delete register-tests.el now no more needed

* register-tests.el: Deleted file.

2 years agoUpdate register manual
Thierry Volpiatto [Thu, 30 Nov 2023 09:53:46 +0000 (10:53 +0100)]
Update register manual

doc/emacs/regs.texi: Do it.

2 years agoFix register-preview-default
Thierry Volpiatto [Thu, 30 Nov 2023 09:38:52 +0000 (10:38 +0100)]
Fix register-preview-default

We need to print the string representation (one char) of an eventual
key description e.g. "^X" instead of "C-x".
However the key description is still displayed in a display property.

* lisp/register.el (register-preview-default): Use `string' to print register.

2 years agorust-ts-mode: appropriately fontify doc strings
Christophe Troestler [Wed, 29 Nov 2023 23:13:10 +0000 (00:13 +0100)]
rust-ts-mode: appropriately fontify doc strings

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--comment-docstring): New function.
(rust-ts-mode--font-lock-settings): Use it
(https://lists.gnu.org/archive/html/emacs-devel/2023-12/msg00019.html).

2 years ago* test/lisp/net/tramp-tests.el (tramp-test31-signal-process): Extend.
Michael Albinus [Fri, 1 Dec 2023 15:29:37 +0000 (16:29 +0100)]
* test/lisp/net/tramp-tests.el (tramp-test31-signal-process): Extend.

2 years agoFix mode-line-inactive face
Eli Zaretskii [Fri, 1 Dec 2023 12:15:30 +0000 (14:15 +0200)]
Fix mode-line-inactive face

* src/xfaces.c (Finternal_set_lisp_face_attribute): Fix validation
of the :style attribute of :box.  Previously, nil for :style was not
accepted, which causes 'mode-line-inactive' face to be rejected.
(Bug#67567)

2 years agoFix example code in Emacs Lisp Introduction manual
Xiyue Deng [Fri, 1 Dec 2023 10:31:49 +0000 (02:31 -0800)]
Fix example code in Emacs Lisp Introduction manual

* doc/lispintro/emacs-lisp-intro.texi (Optional Arguments): Fix
indentation in an example.  (Bug#67559)

Copyright-paperwork-exempt: yes

2 years agoFix example in Emacs Lisp Intro manual
Eli Zaretskii [Fri, 1 Dec 2023 08:47:27 +0000 (10:47 +0200)]
Fix example in Emacs Lisp Intro manual

* doc/lispintro/emacs-lisp-intro.texi (beginning-of-buffer opt
arg): Fix indentation in example.  Reported by Xiyue Deng
<manphiz@gmail.com>.  (Bug#67560)

2 years ago; * doc/emacs/files.texi (Save Commands): Fix last change.
Eli Zaretskii [Fri, 1 Dec 2023 08:36:55 +0000 (10:36 +0200)]
; * doc/emacs/files.texi (Save Commands): Fix last change.

2 years agoElisp manual: Mention 'write-region' for saving the buffer
Jeremy Bryant [Thu, 30 Nov 2023 23:14:46 +0000 (23:14 +0000)]
Elisp manual: Mention 'write-region' for saving the buffer

* doc/emacs/files.texi (Save Commands):  Mention
'write-region'.  (Bug#67313)

2 years ago* lisp/simple.el (minibuffer-default-add-shell-commands): Require 'dired-aux'.
Juri Linkov [Fri, 1 Dec 2023 07:18:28 +0000 (09:18 +0200)]
* lisp/simple.el (minibuffer-default-add-shell-commands): Require 'dired-aux'.

This is necessary for 'shell-command-guess' after removing autoload cookie
since declare-function doesn't autoload it.

2 years ago* lisp/simple.el: Add declare-function for shell-command-guess.
Juri Linkov [Thu, 30 Nov 2023 18:11:36 +0000 (20:11 +0200)]
* lisp/simple.el: Add declare-function for shell-command-guess.

* lisp/dired-aux.el (shell-command-guess): Remove unneeded autoload cookie.

2 years ago* lisp/dired-aux.el (shell-command-guess-open): New defcustom (bug#18132).
Juri Linkov [Thu, 30 Nov 2023 17:39:16 +0000 (19:39 +0200)]
* lisp/dired-aux.el (shell-command-guess-open): New defcustom (bug#18132).

(shell-command-guess-open): New function.
(shell-command-guess-functions): Add 'shell-command-guess-open' to choice.

2 years agoFix validation of :box face attribute
Eli Zaretskii [Thu, 30 Nov 2023 15:17:02 +0000 (17:17 +0200)]
Fix validation of :box face attribute

* src/xfaces.c (Finternal_set_lisp_face_attribute): Fix the logic
of validating the :box attribute.  The previous code would always
allow invalid attributes of :box as long as the invalid attribute
was the last in the list.  (Bug#67404)