Visuwesh [Wed, 6 Dec 2023 08:15:03 +0000 (13:45 +0530)]
Offer to show diff against auto-save in recover-file
* lisp/files.el (recover-file): Show diff against the selected auto
save file. (Bug#52242)
* doc/emacs/files.texi (Recover): Document the new feature.
* etc/NEWS: Announce the new feature.
john muhl [Mon, 4 Dec 2023 18:03:34 +0000 (12:03 -0600)]
Fix comint-next/previous-prompt in lua-ts-mode
* lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua): Don't set
'comint-use-prompt-regexp'. (Bug#67616)
nverno [Mon, 4 Dec 2023 03:21:04 +0000 (19:21 -0800)]
Fix: add comint hook locally in lua-ts-inferior-lua
* lisp/progmodes/lua-ts-mode.el (lua-ts-inferior-lua): Add
'comint-preoutput-filter-functions' hook locally. (Bug#67616)
Eli Zaretskii [Sat, 16 Dec 2023 09:13:33 +0000 (11:13 +0200)]
; * src/androidfns.c (syms_of_androidfns) <android-os-language>: Doc fix.
Eli Zaretskii [Sat, 16 Dec 2023 09:04:24 +0000 (11:04 +0200)]
; * lisp/vc/vc-git.el (vc-git-print-log-follow): Doc fix.
Dmitry Gutov [Sat, 16 Dec 2023 02:57:44 +0000 (04:57 +0200)]
ruby-syntax-methods-before-regexp: Drop this whitelist
* lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
Match only based on keywords and operators.
(ruby-syntax-methods-before-regexp): Delete.
(ruby-syntax-propertize): Use the new heuristic based on spaces
instead of checking for method names before (bug#67569).
* test/lisp/progmodes/ruby-mode-tests.el
(ruby-regexp-not-division-when-only-space-before):
Use non-whitelisted method name.
* test/lisp/progmodes/ruby-mode-resources/ruby.rb:
Adjust two examples.
Po Lu [Sat, 16 Dec 2023 02:55:18 +0000 (10:55 +0800)]
Provide for Num Lock and Scroll Lock on Android
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Retain META_NUM_LOCK_ON and META_SCROLL_LOCK_ON while filtering
meta state.
Dmitry Gutov [Sat, 16 Dec 2023 00:34:34 +0000 (02:34 +0200)]
; vc-print-log-setup-buttons: Update a TODO comment
Dmitry Gutov [Fri, 15 Dec 2023 23:48:29 +0000 (01:48 +0200)]
(vc-print-log-setup-buttons): Start "previous" history with specified revision
* lisp/vc/vc-git.el (vc-git-file-name-changes-switches): Remove
the comment above the option. Seems unnecessary now.
* lisp/vc/vc.el (vc-print-log-setup-buttons): Start the "previous"
change history buffer with the specified revision, rather than
have the sentinel jump to it. Apparently in some cases the
history of the old name can't be found. In others, the log just
shows faster. But note the caveat described in the second new
comment (bug#55871).
Dmitry Gutov [Fri, 15 Dec 2023 23:36:47 +0000 (01:36 +0200)]
Show buttons below vc-log even when REVISION is specified
E.g. in the vc-print-branch-log which specifies start revision.
* lisp/vc/vc.el (vc-print-log-internal): Remove outdated comment.
(vc-print-log-setup-buttons): Only special-case non-nil
IS-START-REVISION when LIMIT=1. We often do need buttons for logs
that start with a particular revision, because those are still limited
by vc-log-show-limit.
Dmitry Gutov [Fri, 15 Dec 2023 20:26:59 +0000 (22:26 +0200)]
Support viewing VC change history across renames (Git, Hg)
* lisp/vc/vc.el (vc-print-log-setup-buttons):
When the log ends at a rename, add a button to jump to the
previous names. Use the new backend action 'file-name-changes'.
* lisp/vc/vc-git.el (vc-git-print-log-follow): New option.
(vc-git-file-name-changes): Implementation (bug#55871, bug#39044).
(vc-git-print-log-follow): Update docstring.
* lisp/vc/log-view.el (log-view-find-revision)
(log-view-annotate-version): Pass the log's VC backend explicitly.
* lisp/vc/vc-hg.el (vc-hg-file-name-changes):
Add Hg implementation (bug#13004).
* etc/NEWS: Mention the changes.
Eli Zaretskii [Fri, 15 Dec 2023 13:32:22 +0000 (15:32 +0200)]
Support case-sensitive register names
* lisp/register.el (register-read-with-preview): Make register
names case-sensitive. (Bug#66394)
Po Lu [Fri, 15 Dec 2023 11:55:30 +0000 (19:55 +0800)]
; * doc/emacs/android.texi (Android Environment): Wording fixes.
João Távora [Thu, 14 Dec 2023 23:53:07 +0000 (23:53 +0000)]
Eglot: use new jsonrpc-autoport-bootstrap
* lisp/progmodes/eglot.el (eglot-lsp-server): Delete slot
inferior-process.
(eglot--on-shutdown): Simplify.
(eglot--inferior-bootstrap): Delete.
(eglot--connect): Call jsonrpc-autoport-bootstrap.
João Távora [Thu, 14 Dec 2023 22:56:33 +0000 (22:56 +0000)]
Jsonrpc: add new jsonrpc-autoport-bootstrap helper
This will help Eglot and some other extensions connect to network
servers that are started with a call to a local program.
* lisp/jsonrpc.el (jsonrpc--process-sentinel): Also delete inferior.
(jsonrpc-process-connection): Add -autoport-inferior slot.
(initialize-instance jsonrpc-process-connection): Check
process-creating function arity. Use jsonrpc-forwarding-buffer
(jsonrpc-autoport-bootstrap): New helper.
(Version): Bump to 1.0.20.
João Távora [Thu, 14 Dec 2023 16:32:54 +0000 (16:32 +0000)]
Eglot: beware activation in fundamental-mode
In the specific situation of visiting a buffer via M-. with
eglot-extend-to-xref set to t, it was found that buffer was first
visited in fundamental mode, running after-change-major-mode-hook, and
then again in the proper major mode for the file. The call to
eglot-current-server of the first visit returned non-nil which cause
two didOpen notifications to be issued for the same file.
Furthermore, in the first call, eglot--languageId to returned nil,
prompting an error from servers such as rust-analyzer.
See also: https://github.com/joaotavora/eglot/discussions/1330
* lisp/progmodes/eglot.el (eglot-current-server): Watch out for
fundamental-mode.
Po Lu [Thu, 14 Dec 2023 05:57:59 +0000 (13:57 +0800)]
; * src/androidfns.c (syms_of_androidfns_for_pdumper): Fix crash.
Po Lu [Thu, 14 Dec 2023 05:25:40 +0000 (13:25 +0800)]
Merge remote-tracking branch 'savannah/master' into master-android-1
Po Lu [Thu, 14 Dec 2023 05:24:42 +0000 (13:24 +0800)]
Respect Language & Input preferences under Android
* doc/emacs/android.texi (Android Environment):
* doc/emacs/cmdargs.texi (General Variables): Mention the manner
in which the default language environment is selected on
Android.
* lisp/startup.el (normal-top-level): If android and
initial-window-system, call android-locale-for-system-language
for the default locale name.
* lisp/term/android-win.el (android-locale-for-system-language):
New function.
* src/androidfns.c (syms_of_androidfns_for_pdumper): New
function.
(syms_of_androidfns) <Vandroid_os_language>: New variable.
Call syms_of_androidfns_for_pdumper both now and after
loading the dump image.
João Távora [Wed, 8 Nov 2023 14:36:04 +0000 (08:36 -0600)]
Jsonrpc: support some JSONesque non-JSONRPC protocols, like DAP
* lisp/jsonrpc.el (jsonrpc-convert-to-endpoint)
(jsonrpc-convert-from-endpoint): New generics.
(jsonrpc-connection-send): Call jsonrpc-convert-to-endpoint.
Rework logging.
(jsonrpc-connection-receive): Call jsonrpc-convert-from-endpoint.
Rework logging. jsonrpc--reply with METHOD.
(jsonrpc--log-event): Take subtype.
(Version): Bump to 1.0.19
* test/lisp/progmodes/eglot-tests.el (eglot--sniffing): Adapt
to new protocol of jsonrpc--log-event.
* doc/lispref/text.texi (JSONRPC Overview): Rework.
João Távora [Mon, 11 Dec 2023 00:01:03 +0000 (00:01 +0000)]
Jsonrpc: rework fix for bug#60088
Try to decouple receiving text and processing messages in the event
loop. This should allow for requests within requests in both Eglot
and the Dape extension (https://github.com/svaante/dape).
jsonrpc-connection-receive is now called from timers after the process
filter finished. Because of this, a detail is that any serialization
errors are now thrown from timers instead of the synchronous process
filter, and there's no good way to test this in ert, so a test has
been deleted.
* lisp/jsonrpc.el (jsonrpc--process-filter): Rework.
* test/lisp/jsonrpc-tests.el (json-el-cant-serialize-this): Delete test.
João Távora [Sat, 9 Dec 2023 20:13:39 +0000 (20:13 +0000)]
Jsonrpc: better initforms in jsonrpc-connection
* lisp/jsonrpc.el (jsonrpc-connection): Better initforms
João Távora [Wed, 8 Nov 2023 14:22:23 +0000 (08:22 -0600)]
Jsonrpc: allow method identifiers to be simply strings
* lisp/jsonrpc.el (jsonrpc-connection-send): Support string methods.
Michael Albinus [Wed, 13 Dec 2023 12:20:43 +0000 (13:20 +0100)]
Improve tramp-compat-connection-local-p
* lisp/net/tramp-compat.el (tramp-compat-connection-local-p):
Make it compatible with Emacs 27.
Andrea Corallo [Wed, 13 Dec 2023 11:22:39 +0000 (12:22 +0100)]
* configure.ac: Fix '--without-all' if libgccjit installed (bug#67799)
Eric Abrahamsen [Fri, 8 Dec 2023 17:39:58 +0000 (09:39 -0800)]
Provide option to forward Gnus messages with all (most) headers
Bug#67520
* lisp/gnus/gnus-msg.el (gnus-summary-mail-forward): Accept symbolic
prefix to let-bind message-forward-included-headers to nil, which will
include most original message headers in the forwarded copy.
(gnus-summary-post-forward): Corresponding arglist update.
Michael Albinus [Tue, 12 Dec 2023 16:39:51 +0000 (17:39 +0100)]
New macro connection-local-p
* doc/lispref/variables.texi (Applying Connection Local Variables):
Add macro 'connection-local-p'.
* etc/NEWS: Add macro `connection-local-p'.
* lisp/files-x.el (connection-local-p): New macro.
(connection-local-value): Add debug declaration.
* lisp/net/tramp-compat.el (tramp-compat-connection-local-p): New macro.
* lisp/net/tramp-crypt.el (tramp-crypt-cleanup-connection):
Bind `tramp-crypt-enabled'.
* test/lisp/files-x-tests.el (files-x-test-connection-local-value):
* test/lisp/net/tramp-tests.el (tramp-test18-file-attributes)
(tramp-test35-remote-path): Adapt tests.
Juri Linkov [Mon, 11 Dec 2023 17:16:37 +0000 (19:16 +0200)]
Fix typo in commit
3c093148958d56e0ed8e12a8e00ced1ef052259a
* lisp/minibuffer.el (minibuffer-completion-help):
Set t to LOCAL arg of add-hook for after-change-functions.
Po Lu [Mon, 11 Dec 2023 03:39:00 +0000 (11:39 +0800)]
Introduce menus beneath new chapters in the Transient menu
* doc/misc/transient.texi (Usage)
(Modifying Existing Transients): Insert menus from which Texinfo
4.13 can infer Prev and Next nodes.
Po Lu [Mon, 11 Dec 2023 03:28:34 +0000 (11:28 +0800)]
Correct implementation of UTP
* src/sfnt.c (sfnt_interpret_utp): Derive which flags to reset
from the freedom vector.
Dmitry Gutov [Mon, 11 Dec 2023 01:19:11 +0000 (03:19 +0200)]
project-any-command: Use 'project-aware'
* lisp/progmodes/project.el (project-any-command): Change the
symbol it's looking for to 'project-aware'. Seems to convey the
semantics best.
Stefan Kangas [Sun, 10 Dec 2023 21:06:54 +0000 (22:06 +0100)]
Mark `;#@` as :safe for asm-comment-char
* lisp/progmodes/asm-mode.el (asm--safe-comment-char-p): New function
that returns true for characters #, @, and ;.
(asm-comment-char): Use new function as :safe predicate.
Stefan Kangas [Sun, 10 Dec 2023 21:04:51 +0000 (22:04 +0100)]
; Use ?c instead of integer in local variables
* exec/loader-armeabi.s (timespec):
* exec/loader-mips64el.s (__start):
* exec/loader-mipsel.s (__start): Use ?c instead of integer in local
variables.
Eli Zaretskii [Sun, 10 Dec 2023 15:35:54 +0000 (10:35 -0500)]
Merge from origin/emacs-29
2773cf9e013 ; Fix typos
020aff95fa3 ; Fix typos in ChangeLog files
5e03a621efc ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristi...
f0734e1c0d1 Fix c-ts-mode indent heuristic (bug#67417)
08fc6bace20 Fix c-ts-mode indentation (bug#67357)
71bc2815ccd Add font-locking for hash-bang lines in typescript-ts-mode.
db8347c8c87 Add font-locking for hash-bang lines in js-ts-mode
91f2ade57bb ruby-mode: Better detect regexp vs division (bug#67569)
Michael Albinus [Sun, 10 Dec 2023 14:15:12 +0000 (15:15 +0100)]
; Fix error in my last commit
* lisp/files-x.el (hack-connection-local-variables): Autoload.
(connection-local-value): Revert previous fix.
Po Lu [Sun, 10 Dec 2023 14:05:09 +0000 (22:05 +0800)]
* lisp/files-x.el (connection-local-value): Fix Dired crash.
Stefan Kangas [Sun, 10 Dec 2023 13:44:41 +0000 (14:44 +0100)]
Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2023-12-06 20:17:45 UTC.
Stefan Kangas [Sun, 10 Dec 2023 13:05:34 +0000 (14:05 +0100)]
; Fix a few more typos
Stefan Kangas [Sun, 10 Dec 2023 12:22:04 +0000 (13:22 +0100)]
; Fix typos
Stefan Kangas [Sun, 10 Dec 2023 11:39:54 +0000 (12:39 +0100)]
; Fix typos
Stefan Kangas [Sun, 10 Dec 2023 11:38:19 +0000 (12:38 +0100)]
; Fix typos in ChangeLog files
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'.
Eli Zaretskii [Sun, 10 Dec 2023 09:41:35 +0000 (11:41 +0200)]
; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristic): Doc fix.
Yuan Fu [Sun, 10 Dec 2023 09:24:25 +0000 (01:24 -0800)]
Fix c-ts-mode indent heuristic (bug#67417)
This is a continuation of the first two patches for bug#67417. The
c-ts-mode--prev-line-match heuristic we added is too broad, so for now
we are just adding a very specific heuristic for the else case.
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--prev-line-match): Remove function.
(c-ts-mode--else-heuristic): New function.
(c-ts-mode--indent-styles): Use c-ts-mode--else-heuristic.
nverno [Wed, 22 Nov 2023 00:33:04 +0000 (16:33 -0800)]
Fix c-ts-mode indentation (bug#67357)
1. In a compund_statement, we indent the first sibling against the
parent, and the rest siblings against their previous sibling. But
this strategy falls apart when the first sibling is not on its own
line. We should regard the first sibling that is on its own line as
the "first sibling"", and indent it against the parent.
2. In linux style, in a do-while statement, if the do-body is
bracket-less, the "while" keyword is indented to the same level as the
do-body. It should be indented to align with the "do" keyword
instead.
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--no-prev-standalone-sibling): New function.
(c-ts-mode--indent-styles): Use
c-ts-mode--no-prev-standalone-sibling. Add while keyword indent rule.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New tests.
nverno [Sat, 9 Dec 2023 19:35:44 +0000 (11:35 -0800)]
Add font-locking for hash-bang lines in typescript-ts-mode.
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
Add font-lock for hash bang line.
nverno [Sat, 9 Dec 2023 19:28:15 +0000 (11:28 -0800)]
Add font-locking for hash-bang lines in js-ts-mode
* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Add font-lock for hash bang line.
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`.
Dmitry Gutov [Sat, 9 Dec 2023 17:04:55 +0000 (19:04 +0200)]
ruby-mode: Better detect regexp vs division (bug#67569)
* lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
Add grouping around methods from the whitelist.
(ruby-syntax-propertize): Also look for spaces around the slash.
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.
Eli Zaretskii [Sat, 9 Dec 2023 12:59:08 +0000 (07:59 -0500)]
; Auto-commit of loaddefs files.
Eli Zaretskii [Sat, 9 Dec 2023 12:57:35 +0000 (07:57 -0500)]
; * lisp/progmodes/gud.el (lldb): Fix trailing whitespace.
Eli Zaretskii [Sat, 9 Dec 2023 12:46:45 +0000 (07:46 -0500)]
; * doc/misc/modus-themes.org: Fix merge snafu.
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...
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)
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'.
Michael Albinus [Sat, 9 Dec 2023 09:25:58 +0000 (10:25 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs
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.
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.
Eli Zaretskii [Sat, 9 Dec 2023 09:07:22 +0000 (11:07 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
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)
Michael Albinus [Sat, 9 Dec 2023 09:05:20 +0000 (10:05 +0100)]
; * etc/NEWS: Fix typos.
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.
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.
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.
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)
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.
Eli Zaretskii [Sat, 9 Dec 2023 07:48:40 +0000 (09:48 +0200)]
; * doc/lispref/processes.texi (Network): Fix wording and punctuation.
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.
Sean Whitton [Fri, 8 Dec 2023 22:37:06 +0000 (22:37 +0000)]
; * lisp/progmodes/project.el (project-any-command): Fix last change
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).
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).
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.
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.
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.
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`.
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.
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.
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.
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.
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.
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.
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).
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
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
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.
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)
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).
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.
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.
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.
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'.
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.
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.
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
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
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.
Jonas Bernoulli [Tue, 5 Dec 2023 19:04:21 +0000 (20:04 +0100)]
; * lisp/transient.el: Revert accidental changes
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.
Jonas Bernoulli [Tue, 5 Dec 2023 18:59:34 +0000 (19:59 +0100)]
Update to Transient v0.5.2