1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-21 23:50:36 -08:00
Commit graph

170020 commits

Author SHA1 Message Date
Po Lu
a2c2ec548b 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.
2023-12-16 10:55:18 +08:00
Dmitry Gutov
4072e06a5f ; vc-print-log-setup-buttons: Update a TODO comment 2023-12-16 02:34:34 +02:00
Dmitry Gutov
62d9647386 (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).
2023-12-16 01:48:29 +02:00
Dmitry Gutov
e154c81c0b 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.
2023-12-16 01:36:47 +02:00
Dmitry Gutov
5b80894d0a 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.
2023-12-15 22:37:40 +02:00
Eli Zaretskii
8e0882d17a Support case-sensitive register names
* lisp/register.el (register-read-with-preview): Make register
names case-sensitive.  (Bug#66394)
2023-12-15 15:32:22 +02:00
Po Lu
b4c8a88ac1 ; * doc/emacs/android.texi (Android Environment): Wording fixes. 2023-12-15 19:55:30 +08:00
João Távora
a4feb79ad4 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.
2023-12-14 23:53:13 +00:00
João Távora
9e24cde227 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.
2023-12-14 23:53:13 +00:00
João Távora
af1fe69f05 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.
2023-12-14 18:08:38 +00:00
Po Lu
d9814efe07 ; * src/androidfns.c (syms_of_androidfns_for_pdumper): Fix crash. 2023-12-14 13:57:59 +08:00
Po Lu
f5a3b5e66a Merge remote-tracking branch 'savannah/master' into master-android-1 2023-12-14 13:25:40 +08:00
Po Lu
de25aaa11a 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.
2023-12-14 13:24:42 +08:00
João Távora
ea29a48da1 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.
2023-12-14 00:55:52 +00:00
João Távora
60473c4d90 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.
2023-12-14 00:55:52 +00:00
João Távora
d2f95ea44c Jsonrpc: better initforms in jsonrpc-connection
* lisp/jsonrpc.el (jsonrpc-connection): Better initforms
2023-12-14 00:55:52 +00:00
João Távora
8de749faa1 Jsonrpc: allow method identifiers to be simply strings
* lisp/jsonrpc.el (jsonrpc-connection-send): Support string methods.
2023-12-14 00:55:52 +00:00
Michael Albinus
33aa46fe94 Improve tramp-compat-connection-local-p
* lisp/net/tramp-compat.el (tramp-compat-connection-local-p):
Make it compatible with Emacs 27.
2023-12-13 13:20:43 +01:00
Andrea Corallo
281a16d15f * configure.ac: Fix '--without-all' if libgccjit installed (bug#67799) 2023-12-13 12:25:23 +01:00
Eric Abrahamsen
75fd7550ed 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.
2023-12-12 10:01:31 -08:00
Michael Albinus
67654fe965 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.
2023-12-12 17:39:51 +01:00
Juri Linkov
6abea4d98d Fix typo in commit 3c09314895
* lisp/minibuffer.el (minibuffer-completion-help):
Set t to LOCAL arg of add-hook for after-change-functions.
2023-12-11 19:16:37 +02:00
Po Lu
9434ad25ce 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.
2023-12-11 11:39:00 +08:00
Po Lu
1ec8e76bcf Correct implementation of UTP
* src/sfnt.c (sfnt_interpret_utp): Derive which flags to reset
from the freedom vector.
2023-12-11 11:28:34 +08:00
Dmitry Gutov
64cdcf7f51 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.
2023-12-11 03:19:11 +02:00
Stefan Kangas
9ee911ce31 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.
2023-12-10 22:19:12 +01:00
Stefan Kangas
c3b41c123a ; 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.
2023-12-10 22:09:56 +01:00
Eli Zaretskii
0da2a4650c Merge from origin/emacs-29
2773cf9e01 ; Fix typos
020aff95fa ; Fix typos in ChangeLog files
5e03a621ef ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristi...
f0734e1c0d Fix c-ts-mode indent heuristic (bug#67417)
08fc6bace2 Fix c-ts-mode indentation (bug#67357)
71bc2815cc Add font-locking for hash-bang lines in typescript-ts-mode.
db8347c8c8 Add font-locking for hash-bang lines in js-ts-mode
91f2ade57b ruby-mode: Better detect regexp vs division (bug#67569)
2023-12-10 10:35:54 -05:00
Michael Albinus
fab48f1a54 ; Fix error in my last commit
* lisp/files-x.el (hack-connection-local-variables): Autoload.
(connection-local-value): Revert previous fix.
2023-12-10 15:15:12 +01:00
Po Lu
79aca35c1f * lisp/files-x.el (connection-local-value): Fix Dired crash. 2023-12-10 22:05:51 +08:00
Stefan Kangas
da8fd95cdb 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.
2023-12-10 14:44:41 +01:00
Stefan Kangas
7d283ca1a3 ; Fix a few more typos 2023-12-10 14:06:45 +01:00
Stefan Kangas
06a12b0ccc ; Fix typos 2023-12-10 13:22:04 +01:00
Stefan Kangas
2773cf9e01 ; Fix typos 2023-12-10 12:39:54 +01:00
Stefan Kangas
020aff95fa ; Fix typos in ChangeLog files 2023-12-10 12:38:19 +01:00
Michael Albinus
1d5028ad04 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'.
2023-12-10 12:26:38 +01:00
Eli Zaretskii
5e03a621ef ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristic): Doc fix. 2023-12-10 11:41:35 +02:00
Yuan Fu
f0734e1c0d
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.
2023-12-10 01:24:25 -08:00
nverno
08fc6bace2
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.
2023-12-10 01:05:22 -08:00
nverno
71bc2815cc 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.
2023-12-10 04:50:06 +02:00
nverno
db8347c8c8 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.
2023-12-10 04:49:06 +02:00
Stefan Monnier
213d30b3ea 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`.
2023-12-09 18:03:48 -05:00
Dmitry Gutov
91f2ade57b 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.
2023-12-09 19:04:55 +02:00
Manuel Giraud
127de202b8 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.
2023-12-09 15:15:36 +02:00
Eli Zaretskii
20be8ed61f ; Auto-commit of loaddefs files. 2023-12-09 07:59:08 -05:00
Eli Zaretskii
ffe25471dd ; * lisp/progmodes/gud.el (lldb): Fix trailing whitespace. 2023-12-09 07:57:35 -05:00
Eli Zaretskii
93592c6917 ; * doc/misc/modus-themes.org: Fix merge snafu. 2023-12-09 07:46:45 -05:00
Eli Zaretskii
486094126b Merge from origin/emacs-29
0f361cc985 ; Minor copyedits in description of ':box' face property
46fe7a17f5 Fix dragging mode line on text terminals with a mouse (bu...
12daf386f3 ; * doc/lispref/processes.texi (Network): Fix wording and...
037d858dc1 (rust-ts-mode): Set electric-indent-chars
dc9b733ab8 js-ts-mode: Highlight function parameters inside destruct...
4a72f13bdf js-ts-mode: Highlight property shorthands in assignments
83ed9018ed (js--treesit-font-lock-settings): Highlight parameters in...
ad0f87bb4c (js--treesit-font-lock-settings): Remove some duplicates
71c5f3694f ; Another fix of doc string of 'message-mail-user-agent' ...
04a39353ba ; * lisp/gnus/message.el (message-mail-user-agent): Doc f...
82ddcf37ec ; * doc/lispref/files.texi (Changing Files): Fix last cha...
89068516b3 Don't claim to signal an error when deleting a nonexistin...
4fd254e183 * lisp/indent.el (indent-rigidly): Improve prompt (bug#67...
5f923ff1a6 ; Fix typos
a1f88963f5 rust-ts-mode--comment-docstring: Handle block doc comments
a547b0e2e8 rust-ts-mode--comment-docstring: Fix/improve the previous...
2023-12-09 07:25:21 -05:00
Eli Zaretskii
0f361cc985 ; 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)
2023-12-09 13:05:07 +02:00
Eli Zaretskii
598ab9ca10 ; 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'.
2023-12-09 12:02:48 +02:00