]> git.eshelyaron.com Git - emacs.git/log
emacs.git
21 months agoFix 'go-ts-mode's incorrect docstring inserted for methods
Evgeni Kolev [Wed, 8 Feb 2023 15:16:02 +0000 (17:16 +0200)]
Fix 'go-ts-mode's incorrect docstring inserted for methods

The docstring inserted with go-ts-mode's C-c C-d was incorrectly
prefixed with the receiver "(myStruct).":

    // (myStruct).act
    func (m *myStruct) act () {...}

The above docstring is not correct because the receiver "myStruct"
should not be in the docstring.  This commit fixes the incorrect
behavior.
* lisp/progmodes/go-ts-mode.el (go-ts-mode--defun-name): New
optional argument SKIP-PREFIX.
(go-ts-mode-docstring): Call (go-ts-mode--defun-name t)
instead of (treesit-defun-name).  (Bug#62371)

21 months ago* src/buffer.c (mode-line-format): Reorder and reformat %-construct docs
Phil Sainty [Sun, 14 Aug 2022 11:17:38 +0000 (23:17 +1200)]
* src/buffer.c (mode-line-format): Reorder and reformat %-construct docs

The original formatting dates back to the earliest commits.  It saved
a few lines but was harder to follow.  As windows are typically taller
now than the terminals of the time, this reformatting now makes better
sense for readabiity.  See bug#57080.

* doc/lispref/modes.texi: Order change for consistency.  Add index.

21 months ago* doc/lispref/modes.texi: Improve docs for obsolete '%m' construct
Phil Sainty [Sun, 14 Aug 2022 11:16:48 +0000 (23:16 +1200)]
* doc/lispref/modes.texi: Improve docs for obsolete '%m' construct

Bug #57080.

21 months agoImprove docs for global-mode-string / %M construct
Phil Sainty [Sun, 14 Aug 2022 11:14:51 +0000 (23:14 +1200)]
Improve docs for global-mode-string / %M construct

* src/xdisp.c (global-mode-string): Update docstring.
* doc/lispref/modes.texi: Update manual.

21 months ago* src/buffer.c (mode-line-format): Document %o and %q constructs
Phil Sainty [Sun, 14 Aug 2022 11:11:43 +0000 (23:11 +1200)]
* src/buffer.c (mode-line-format): Document %o and %q constructs

Missed from commit b0b02ca7f3e06d0f092df6f81babd1277bf93b0f.

21 months ago* src/buffer.c (mode-line-format): Remove docs for obsolete %t construct
Phil Sainty [Sun, 14 Aug 2022 10:34:41 +0000 (22:34 +1200)]
* src/buffer.c (mode-line-format): Remove docs for obsolete %t construct

This documentation had been previously removed in 1999 in [1]
but was subsequently restored again in a different form in 2006
in [2] as the construct was still supported on some systems.
However it looks like it hasn't done what that documentation
indicated since [3] in 2011, and the final remnant of this
functionality was removed in [4] in 2013; so it seems clear that
it's no longer supported and shouldn't be documented now.

[1] commit 08de62001945d4dd32a3d6af44da05804cb296d5
[2] commit dafbe726b89a36010f3f24bb1efe4ace0a5f7f0f
[3] commit 05c652517317d10690aaf0a6aa0bc876382b9d82
[4] commit 8549f9e89bd9288c4c709d183a5bf8f07dbeed3d

21 months agoUse string-search instead of string-match[-p] when possible
Mattias Engdegård [Sun, 26 Mar 2023 10:09:41 +0000 (12:09 +0200)]
Use string-search instead of string-match[-p] when possible

* lisp/progmodes/c-ts-mode.el
(c-ts-mode--standalone-parent-skip-preproc):
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--align-chain):
* lisp/treesit.el (treesit-max-buffer-size)
(treesit--check-manual-coverage):
Use the much faster string-search when just searching for a substring.

21 months ago* lisp/gnus/nnselect.el (nnselect-request-thread): Correctly parse queries.
Andrew G Cohen [Sun, 26 Mar 2023 00:26:18 +0000 (08:26 +0800)]
* lisp/gnus/nnselect.el (nnselect-request-thread): Correctly parse queries.

21 months ago* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Michael Albinus [Sat, 25 Mar 2023 17:29:25 +0000 (18:29 +0100)]
* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.

21 months agoConnection-local variables are applied in buffers visiting a remote file
Michael Albinus [Sat, 25 Mar 2023 17:28:55 +0000 (18:28 +0100)]
Connection-local variables are applied in buffers visiting a remote file

* etc/NEWS: Connection-local variables are applied in buffers
visiting a remote file.

* test/lisp/net/tramp-tests.el (tramp-test34-connection-local-variables):
Fix test.

21 months agoFix shortdoc-tests when Unicode arrows can be displayed
Mattias Engdegård [Sat, 25 Mar 2023 16:43:43 +0000 (17:43 +0100)]
Fix shortdoc-tests when Unicode arrows can be displayed

New shortdoc functions use Unicode arrows when possible, which caused
some tests to fail if run under such circumstances.

* test/lisp/emacs-lisp/shortdoc-tests.el
(shortdoc-tests--to-ascii): New function.
(shortdoc-function-examples-test)
(shortdoc-help-fns-examples-function-test): Call it.

21 months agoGeneralise a LAP optimisation rule
Mattias Engdegård [Sat, 25 Mar 2023 14:38:00 +0000 (15:38 +0100)]
Generalise a LAP optimisation rule

* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode):
Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a
rule previously overlooked.  This is usually beneficial in code size
and almost always shortens dynamic paths.

21 months agoSwitch buffer in Ftreesit_query_capture
Yuan Fu [Fri, 24 Mar 2023 19:25:19 +0000 (12:25 -0700)]
Switch buffer in Ftreesit_query_capture

This way both #pred and #match predicates runs in the node's buffer by
default.

* src/treesit.c:
(treesit_predicate_match): No need to switch buffer anymore.
(Ftreesit_query_capture): Switch buffer.

* doc/lispref/parsing.texi (Pattern Matching): Update manual.

21 months agoHandle signals gracefully in tree-sitter query predicates
Yuan Fu [Fri, 24 Mar 2023 19:19:25 +0000 (12:19 -0700)]
Handle signals gracefully in tree-sitter query predicates

Before this change, predicate functions can signal, which will cause
Ftreesit_query_capture to skip freeing the query and cursor object.
We make predicate functions return the signal data rather than
directly signal.

* src/treesit.c (treesit_predicate_capture_name_to_node)
(treesit_predicate_capture_name_to_text)
(treesit_predicate_equal)
(treesit_predicate_match)
(treesit_predicate_pred)
(treesit_eval_predicates): Return signal rather than signaling
directly.
(Ftreesit_query_capture): Check for returned signal data.

21 months ago; * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer-separator): Fix doc.
Yuan Fu [Fri, 24 Mar 2023 18:34:39 +0000 (11:34 -0700)]
; * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer-separator): Fix doc.

21 months ago; Minor refactor of Ftreesit_query_capture
Yuan Fu [Tue, 21 Mar 2023 23:13:23 +0000 (16:13 -0700)]
; Minor refactor of Ftreesit_query_capture

* src/treesit.c (Ftreesit_query_capture): Move around some variable
initialization.

21 months agoRefactor Ftreesit_query_capture
Yuan Fu [Tue, 21 Mar 2023 23:03:08 +0000 (16:03 -0700)]
Refactor Ftreesit_query_capture

Refactor some part of Ftreesit_query_capture out into separate
functions, to pave the way for other query-based functions.

* src/treesit.c (treesit_resolve_node): New function.
(treesit_initialize_query): New function.
(Ftreesit_query_capture): Refactor some part into new functions.

21 months agoFix invocation of elixir LSP server on MS-Windows
Eli Zaretskii [Fri, 24 Mar 2023 18:37:11 +0000 (21:37 +0300)]
Fix invocation of elixir LSP server on MS-Windows

* lisp/progmodes/eglot.el (eglot-server-programs): Invoke the
elixir-ls LSP via a batch file if using an MS-Windows shell.
(Bug#62407)

21 months agoAllow users to customize eldoc buffer separator (bug#62029)
João Távora [Fri, 24 Mar 2023 17:37:01 +0000 (17:37 +0000)]
Allow users to customize eldoc buffer separator (bug#62029)

* lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer-separator): New
variable.
(eldoc--format-doc-buffer): Use it.

21 months agoEldoc: slightly enhance meaning of :echo option
João Távora [Fri, 24 Mar 2023 17:16:00 +0000 (17:16 +0000)]
Eldoc: slightly enhance meaning of :echo option

Can now be a string to echo instead of a larger docstring.

* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions):
Describe :echo.
(eldoc--echo-area-render): Allow :echo to be string.

21 months ago* etc/NEWS: Mention that \x without hex digits is an error.
Mattias Engdegård [Fri, 24 Mar 2023 15:03:41 +0000 (16:03 +0100)]
* etc/NEWS: Mention that \x without hex digits is an error.

21 months agoEldoc: fix bug recently introduced in "old" protocol
João Távora [Fri, 24 Mar 2023 14:34:05 +0000 (14:34 +0000)]
Eldoc: fix bug recently introduced in "old" protocol

In the "old" protocol, eldoc-documentation-strategy is actually used
as the deprecated eldoc-documentation-function and it is itself the
"origin" of the doc snippet to be displayed.

* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix.

21 months agoEglot: let user opt-in to plaintext LSP docs (bug#61373)
JD Smith [Thu, 23 Mar 2023 17:43:52 +0000 (17:43 +0000)]
Eglot: let user opt-in to plaintext LSP docs (bug#61373)

* lisp/progmodes/eglot.el
(eglot-prefer-plaintext): New variable.
(eglot-client-capabilities): Use it.

Copyright-paperwork-exempt: yes

21 months agoEglot: don't send invisible text to Eldoc
João Távora [Thu, 23 Mar 2023 17:34:46 +0000 (17:34 +0000)]
Eglot: don't send invisible text to Eldoc

Eglot's rendering of Markdown is imperfect and based on gfm-view-mode.
To make it slightly better, don't send invisible text in
eglot-hover-eldoc-function.

* lisp/progmodes/eglot.el (eglot--format-markup): Hide invisible text.

21 months agoEglot: inform ElDoc about overly long 'hover' docs
João Távora [Thu, 23 Mar 2023 09:04:27 +0000 (09:04 +0000)]
Eglot: inform ElDoc about overly long 'hover' docs

* lisp/progmodes/eglot.el (eglot-hover-eldoc-function): Include :echo
  info in return value.

21 months agoElDoc: rework rendering of echo area (bug#62029)
João Távora [Thu, 23 Mar 2023 09:02:18 +0000 (09:02 +0000)]
ElDoc: rework rendering of echo area (bug#62029)

Previously, the display function 'eldoc-display-in-echo-area' reused
the same buffer as 'eldoc-display-in-doc-buffer', but that made it
harder to render documentation items differently depending on the
specific constraints of each display functions.

Allow documentation-generating backends to pass an :echo-area property
for tweaking the echo area display of certain documentation items.

* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Update docstring.
(eldoc--doc-buffer-docs): Remove.
(eldoc--format-doc-buffer): Simplify.
(eldoc--echo-area-render): New helper.
(eldoc-display-in-echo-area): Use 'eldoc--echo-area-render'.

21 months agoElDoc: remember origin backend in doc snippets (bug#62029)
João Távora [Wed, 22 Mar 2023 13:35:43 +0000 (13:35 +0000)]
ElDoc: remember origin backend in doc snippets (bug#62029)

This lays groundwork for discriminating between different
documentation providers in ElDoc display outlets, i.e. members
of eldoc-display-functions

* lisp/emacs-lisp/eldoc.el (eldoc--make-callback): Take extra origin arg.
(eldoc-documentation-compose-1)
(eldoc-documentation-compose-eagerly)
(eldoc-documentation-default): Pass extra arg to eglot--make-callback.
(eldoc--invoke-strategy): Rework.
(eldoc-documentation-functions): Work docstring.

21 months agoEglot: rework progress indicators
João Távora [Thu, 23 Mar 2023 13:13:16 +0000 (13:13 +0000)]
Eglot: rework progress indicators

Show progress indicator in Eglot's mode line by default.

* lisp/progmodes/eglot.el (eglot-report-progress): Work docstring.
(eglot--mode-line-format): Rework.
(eglot-handle-notification $/progress): Rework.

21 months agoEglot: more leniently handle 'window/showMessageRequest'
João Távora [Wed, 22 Mar 2023 10:16:17 +0000 (10:16 +0000)]
Eglot: more leniently handle 'window/showMessageRequest'

Some servers mess up this message's arguments.

* lisp/progmodes/eglot.el (eglot-handle-request): Fix.

21 months agoNew user option remote-file-name-inhibit-auto-save
Michael Albinus [Thu, 23 Mar 2023 16:09:52 +0000 (17:09 +0100)]
New user option remote-file-name-inhibit-auto-save

* doc/misc/tramp.texi (Auto-save File Lock and Backup):
Mention remote-file-name-inhibit-auto-save.
(Frequently Asked Questions): Describe, how to suppress auto-save.

* etc/NEWS: Add remote-file-name-inhibit-auto-save.

* lisp/simple.el (remote-file-name-inhibit-auto-save): New defcustom.
(auto-save-mode): Handle it.  (Bug#62260)

* lisp/net/tramp-integration.el
(tramp-set-connection-local-variables-for-buffer): Declare.
(find-file-hook): Add `tramp-set-connection-local-variables-for-buffer'.

21 months ago* test/infra/Dockerfile.emba (emacs-eglot): Install wget.
Michael Albinus [Thu, 23 Mar 2023 09:21:11 +0000 (10:21 +0100)]
* test/infra/Dockerfile.emba (emacs-eglot): Install wget.

21 months ago; Add test for embedded HEEx to elixir-ts-mode-tests
Wilhelm H Kirschbaum [Tue, 21 Mar 2023 10:13:58 +0000 (12:13 +0200)]
; Add test for embedded HEEx to elixir-ts-mode-tests

* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test.  (Bug#62327)

21 months ago; * lisp/progmodes/eglot.el (eglot-server-programs): Fix last change.
Eli Zaretskii [Thu, 23 Mar 2023 08:48:31 +0000 (10:48 +0200)]
; * lisp/progmodes/eglot.el (eglot-server-programs): Fix last change.

21 months agoAdd heex-ts-mode to eglot-server-programs (bug#62327)
Wilhelm H Kirschbaum [Tue, 21 Mar 2023 09:48:30 +0000 (11:48 +0200)]
Add heex-ts-mode to eglot-server-programs (bug#62327)

The same language server is used for elixir and heex modes.

* lisp/progmodes/eglot.el (eglot-server-programs): Add heex-ts-mode.

21 months agoMerge from origin/emacs-29
Stefan Kangas [Thu, 23 Mar 2023 05:30:13 +0000 (06:30 +0100)]
Merge from origin/emacs-29

6de00e4df99 ; Fix xref-match's :version since the default value did c...
db355b420b6 Use libgccjit-10-dev on EMBA
84963956535 * lisp/outline.el (outline--fix-buttons-after-change): Ad...
3d3bbaace69 Align concatenated strings to the first sibling in c-ts-mode
f856468e457 Only fill the current paragraph in c-ts-common--fill-bloc...
df669c5a11f Add missing indent rule for c-ts-mode

21 months ago; Fix xref-match's :version since the default value did change
Dmitry Gutov [Wed, 22 Mar 2023 16:16:50 +0000 (18:16 +0200)]
; Fix xref-match's :version since the default value did change

21 months agoMake icomplete-tidy-shadowed-file-names into a defcustom
Sean Whitton [Wed, 22 Mar 2023 17:28:05 +0000 (10:28 -0700)]
Make icomplete-tidy-shadowed-file-names into a defcustom

lisp/icomplete.el (icomplete-tidy-shadowed-file-names): Make variable
into a defcustom.

21 months agoSubject: send clientInfo during the initialize request
Felician Nemeth [Wed, 22 Mar 2023 18:34:03 +0000 (18:34 +0000)]
Subject: send clientInfo during the initialize request

'clientInfo' arrived in LSP 3.15.0.  LSP clients can use clientInfo to
identify themselves in the initialize request.  This is generally
useful for various debugging tasks.

* lisp/progmodes/eglot.el (eglot--connect): Send clientInfo.
Author:

21 months agoUse libgccjit-10-dev on EMBA
Michael Albinus [Wed, 22 Mar 2023 17:34:23 +0000 (18:34 +0100)]
Use libgccjit-10-dev on EMBA

* test/infra/Dockerfile.emba (emacs-native-comp): Use
libgccjit-10-dev.  (Bug#62211)

* test/infra/gitlab-ci.yml (build-native-comp-speed2)
(test-native-comp-speed2): Uncomment jobs.

21 months agoFix compilation of lib-src/movemail
Eli Zaretskii [Wed, 22 Mar 2023 15:26:22 +0000 (17:26 +0200)]
Fix compilation of lib-src/movemail

* lib-src/movemail.c: Include timespec.h.  Reported by Andreas
Schwab <schwab@linux-m68k.org>.

21 months agoAdd platform for Eglot tests on EMBA
Michael Albinus [Wed, 22 Mar 2023 14:00:15 +0000 (15:00 +0100)]
Add platform for Eglot tests on EMBA

* test/infra/Dockerfile.emba (emacs-eglot): New image.

* test/infra/gitlab-ci.yml (.eglot-template): New template.
(build-image-eglot, test-eglot): New jobs.

21 months agoMake eglot--clangd-version more robust
Robert Pluim [Wed, 22 Mar 2023 11:46:11 +0000 (12:46 +0100)]
Make eglot--clangd-version more robust

* test/lisp/progmodes/eglot-tests.el (eglot--clangd-version): Check
for 'version ' followed by a combination of numbers and dots to
extract the clangd version.

21 months ago* lisp/outline.el (outline--fix-buttons-after-change): Add save-match-data.
Juri Linkov [Wed, 22 Mar 2023 07:44:02 +0000 (09:44 +0200)]
* lisp/outline.el (outline--fix-buttons-after-change): Add save-match-data.

It's important for a hook in after-change-functions not to change match-data.
Otherwise it breaks functions that make changes in the buffer, such as
for example, successive calls to delete-region in smerge-keep-n, etc.

21 months agoAlign concatenated strings to the first sibling in c-ts-mode
Yuan Fu [Wed, 22 Mar 2023 06:27:20 +0000 (23:27 -0700)]
Align concatenated strings to the first sibling in c-ts-mode

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Change rule.

21 months agoOnly fill the current paragraph in c-ts-common--fill-block-comment
Yuan Fu [Wed, 22 Mar 2023 05:50:03 +0000 (22:50 -0700)]
Only fill the current paragraph in c-ts-common--fill-block-comment

* lisp/progmodes/c-ts-common.el:
(c-ts-common--fill-block-comment): Shrink the filled region to the
paragraph at point.

21 months agoMerge from origin/emacs-29
Stefan Kangas [Wed, 22 Mar 2023 05:30:12 +0000 (06:30 +0100)]
Merge from origin/emacs-29

8b6a0de964d Improve docstring of treesit-parent-while (bug#62301)
35648a86730 ; Delete accidental leftover '()' Eglot function
47d8e4b0d38 Eglot: report window/workDoneProgress capability to langu...
4a7a0c9a9f5 * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Impr...
4a6eefb93a5 Expand defvar-keymap documentation
7a1272168af * lisp/treesit.el (treesit-end-of-defun): Guard arg again...
263d6c38539 Comp fix calls to redefined primtives with op-bytecode (b...
6bf441ff115 Warn package authors away from keymap-unset with REMOVE
786de66ec3c Comment out jobs on EMBA
eed240bc022 Improve defvar-keymap docstring.

21 months ago(describe-function): Load file for `...' references
Stefan Monnier [Wed, 22 Mar 2023 01:48:24 +0000 (21:48 -0400)]
(describe-function): Load file for `...' references

To fix bug#62300, we do the same for `...' as we already did for \[...]

* help-fns.el (describe-function-1): Look for `...' references in
addition to key substitution markup.

21 months agoAdd missing indent rule for c-ts-mode
Yuan Fu [Tue, 21 Mar 2023 23:24:29 +0000 (16:24 -0700)]
Add missing indent rule for c-ts-mode

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New rule for case.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.

21 months agoImprove docstring of treesit-parent-while (bug#62301)
Yuan Fu [Tue, 21 Mar 2023 21:50:07 +0000 (14:50 -0700)]
Improve docstring of treesit-parent-while (bug#62301)

* doc/lispref/parsing.texi (Retrieving Nodes): Improve and fix
docstring for treesit-parent-until and treesit-parent-while.
* lisp/treesit.el (treesit-parent-while): Improve docstring.

21 months agoSleep less in update-game-score
Paul Eggert [Tue, 21 Mar 2023 21:38:23 +0000 (14:38 -0700)]
Sleep less in update-game-score

This is mostly to avoid interface hassles with time/srand/rand.
* lib-src/update-game-score.c (main): Don’t use ‘srand’ or ‘time’.
(lock_file): Don’t sleep if we unlocked the lock file.  When
sleeping, always just sleep 1 s.  This avoids the need for calling
‘time’ and ‘rand’, the utility of which was dubious anyway.

21 months agoAvoid backwards clock in movemail timestamps
Paul Eggert [Tue, 21 Mar 2023 21:06:27 +0000 (14:06 -0700)]
Avoid backwards clock in movemail timestamps

* lib-src/movemail.c (mbx_delimit_begin): Use ‘current_timespec’
instead of ‘time’ to generate the user-visible timestamp.
This works around the minor glitch caused by glibc bug 30200
<https://sourceware.org/bugzilla/show_bug.cgi?id=30200>.

21 months agoInvert variable alias declaration in Tramp
Michael Albinus [Tue, 21 Mar 2023 20:24:13 +0000 (21:24 +0100)]
Invert variable alias declaration in Tramp

* lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
Invert alias declaration.  (Bug#62295, Bug#62329)

21 months agoSkip Eglot test if using very old clangd
João Távora [Tue, 21 Mar 2023 18:43:58 +0000 (18:43 +0000)]
Skip Eglot test if using very old clangd

* test/lisp/progmodes/eglot-tests.el (eglot--clangd-version): New
helper.
(eglot-test-diagnostic-tags-unnecessary-code): Use it.

21 months agoImprove Tramp backward compatibility
Michael Albinus [Tue, 21 Mar 2023 15:14:40 +0000 (16:14 +0100)]
Improve Tramp backward compatibility

* lisp/net/tramp-gvfs.el (while-no-input-ignore-events):
Add `dbus-event' for older Emacs versions.

21 months ago; Delete accidental leftover '()' Eglot function
João Távora [Tue, 21 Mar 2023 09:59:13 +0000 (09:59 +0000)]
; Delete accidental leftover '()' Eglot function

* lisp/progmodes/eglot.el (eglot--workspace-configuration-plist):
Remove ().

21 months agoEglot: report window/workDoneProgress capability to language server
João Távora [Tue, 21 Mar 2023 09:56:30 +0000 (09:56 +0000)]
Eglot: report window/workDoneProgress capability to language server

In bug#59149, LSP progress reporting was implemented, but Eglot's
'capabilities' statement to the server wasn't changed to include
window/workDoneProgress.

* lisp/progmodes/eglot.el (eglot-client-capabilities): Actually
report workDoneProgress.

21 months ago* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Improve 263d6c38539
Andrea Corallo [Tue, 21 Mar 2023 10:51:03 +0000 (11:51 +0100)]
* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Improve 263d6c38539

21 months agoExpand defvar-keymap documentation
Robert Pluim [Tue, 21 Mar 2023 09:56:07 +0000 (10:56 +0100)]
Expand defvar-keymap documentation

* doc/lispref/keymaps.texi (Creating Keymaps): Describe the :repeat keyword.

21 months ago* lisp/treesit.el (treesit-end-of-defun): Guard arg against nil (bug#62158).
Dmitry Gutov [Mon, 20 Mar 2023 18:18:42 +0000 (20:18 +0200)]
* lisp/treesit.el (treesit-end-of-defun): Guard arg against nil (bug#62158).

21 months agoComp fix calls to redefined primtives with op-bytecode (bug#61917)
Andrea Corallo [Mon, 20 Mar 2023 16:24:48 +0000 (17:24 +0100)]
Comp fix calls to redefined primtives with op-bytecode (bug#61917)

* lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Fix compilation
of calls to redefined primtives with dedicated op-bytecode.
* test/src/comp-tests.el (61917-1): New test.

21 months agoWarn package authors away from keymap-unset with REMOVE
Robert Pluim [Mon, 20 Mar 2023 15:09:51 +0000 (16:09 +0100)]
Warn package authors away from keymap-unset with REMOVE

* doc/lispref/keymaps.texi (Changing Key Bindings): Ask package
authors to not use the REMOVE argument to `keymap-unset'.

21 months agoComment out jobs on EMBA
Michael Albinus [Mon, 20 Mar 2023 09:06:05 +0000 (10:06 +0100)]
Comment out jobs on EMBA

* test/infra/gitlab-ci.yml: Comment out jobs due to bug#62210 and
bug#62211.

21 months agoImprove defvar-keymap docstring.
Robert Pluim [Mon, 20 Mar 2023 08:44:33 +0000 (09:44 +0100)]
Improve defvar-keymap docstring.

* lisp/keymap.el (defvar-keymap): Improve description of ':enter' and
':exit' usage for ':repeat' keyword.

21 months agoMerge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:40 +0000 (06:30 +0100)]
Merge from origin/emacs-29

b7f03333551 Improve warning about changing the string returned by sym...
e62f8b0239d Fix visiting XBM/XPM files when 'c-ts-mode' is active
94d1c81cf07 * lisp/mpc.el (mpc-format): Fix oversight in commit 48b6c...
a4d97811ed4 Bail early from eglot--apply-text-edits if nothing to do
61d571760b3 ; Clarify in-code commentary of eglot--after-change
5bbbd70f56e Improve ergonomics of Eglot's inlay hints
c3a543123ab Protect against too large size of 'recent-keys' vector
231190b37f8 * lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp.
0bebd0e5f09 ; Remove 'build-module' and 'html-manual' directories fro...
6674c362ad9 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
829e5dfabea Update to Org 9.6.1-48-g92471e
e84f878e19a ; * admin/notes/tree-sitter/starter-guide: Update starter...
ea0949853f8 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
11592bcfda6 ; * lisp/nxml/xmltok.el (xmltok-scan-attributes): Fix las...
e388a77cf0b ; Minor copyedits of recent changes in ELisp reference ma...
33a26703689 ; Minor fixes in recent Eglot changes
d2cf1386fa4 ; * doc/misc/eglot.texi (Eglot Commands): Improve indexing.
b75e489362b ; Again correct node reference casing in doc/misc/eglot.texi
a55d2edc5a9 ; Remove overly verbose commentary
22a70451f34 Merge confusing duplicate sections on commands in Eglot m...
3293f939882 Don't take over mouse-1 binding on Eglot diagnostics (bug...
013057e3512 ; Prefer "language server" to "LSP server" in Eglot manual
94a21c88647 * lisp/progmodes/eglot.el (eglot--connect): Improve Tramp...
0eddfa28ebd Avoid slowdowns in xmltok-scan-attributes
647c6bf2a6c ; * test/lisp/abbrev-tests.el (abbrev--possibly-save-test...
531f8f7103a ; * admin/git-bisect-start: Update failing commits

# Conflicts:
# admin/notes/tree-sitter/build-module/batch.sh
# admin/notes/tree-sitter/build-module/build.sh

21 months ago; Merge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:39 +0000 (06:30 +0100)]
; Merge from origin/emacs-29

The following commits were skipped:

147773a1ef2 CC Mode: Eliminate duplicate function c-list-of-strings
f77ea400db0 CC Mode: Allow lists of strings as safe values for *-font...

21 months agoMerge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:39 +0000 (06:30 +0100)]
Merge from origin/emacs-29

aedb9e3ec37 Add tests for Bug#62207
faee8d50738 ; Fix 'make-obsolete-variable' forms

21 months ago; Merge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:39 +0000 (06:30 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

f0b4ebbaf62 Fix 'find-ls-option-default-ls' for BSD/MacOS (bug#62096)

21 months agoMerge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:32 +0000 (06:30 +0100)]
Merge from origin/emacs-29

ea87c54f359 ; * lisp/subr.el (setq-local): Add missing period (bug#62...
90362f87d58 ; Correct last commit, downcase node reference
38067f05b92 Enhance section about troubleshooting in Eglot manual.
6f82596b490 Fix Eglot's snippet insertion to follow the manual
c54bda15e35 Reset abbrevs-changed after saving abbrevs (bug#62208)
e8cee15f780 ; Fix markup in previous change
e4a7d0cd6ea Document `keymap-unset' in lispref
bb3e0ded9eb Don't add a key binding when REMOVE is non-nil
a4a9ffdd80a Fix the documentation of various aspects of adding Xref h...
a2222b9a9bf ; Minor wording fix in ELisp reference manual
5cf1de683b2 Fix python-fill-paragraph problems on filling strings (bu...
7385c991dff Also exempt eglot-inlay-hints-mode from desktop.el's fumb...
1961bdb52ed ; Add WebDAV entry to index in Tramp manual
dfb36d36230 Refer to EWW instead of w3 and w3m
9d3fdf7e0d4 Fix Eglot's command generation for code actions

# Conflicts:
# etc/NEWS

21 months ago; Merge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:30 +0000 (06:30 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

e10144c1568 Emphasize emacs-29-specificity in this version of lisp/pr...

21 months agoMerge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:30 +0000 (06:30 +0100)]
Merge from origin/emacs-29

028f1102738 Fix quoting of font-family in 'hfy-family'
4cb8a850b08 ; Tweak doc/misc/eglot.texi
d5d4959ed7d Document how to construct JSONRPC arrays in Eglot manual
078cf512eef * test/infra/Dockerfile.emba: Use debian:bullseye.
61adb44318a * configure.ac: Fix native comp compatibility check (bug#...
d814c249f44 * test/infra/Dockerfile.emba: Install clangd.
27edd7f88cb Remove 'package-vc--query-spec'
39fea115515 Do not store :lisp-dir in package descriptors
168165178f3 Use 'package-vc-selected-packages' to store package specs

21 months ago; Merge from origin/emacs-29
Stefan Kangas [Mon, 20 Mar 2023 05:30:30 +0000 (06:30 +0100)]
; Merge from origin/emacs-29

The following commit was skipped:

d3ad6c5e161 ; Auto-commit of loaddefs files.

21 months agoImprove warning about changing the string returned by symbol-name
Gregory Heytings [Sat, 18 Mar 2023 22:41:33 +0000 (22:41 +0000)]
Improve warning about changing the string returned by symbol-name

* src/data.c (Fsymbol_name): Add warning.  See bug#62009.

* doc/lispref/symbols.texi (Creating Symbols): Improve warning.

21 months agoFix visiting XBM/XPM files when 'c-ts-mode' is active
Eli Zaretskii [Sun, 19 Mar 2023 20:19:52 +0000 (22:19 +0200)]
Fix visiting XBM/XPM files when 'c-ts-mode' is active

* lisp/progmodes/c-ts-mode.el (treesit-ready-p): Fix association
for XBM/XPM files in 'auto-mode-alist'.  (Bug#62276)

21 months ago* lisp/mpc.el (mpc-format): Fix oversight in commit 48b6cec61cf
Stefan Monnier [Sun, 19 Mar 2023 20:02:52 +0000 (16:02 -0400)]
* lisp/mpc.el (mpc-format): Fix oversight in commit 48b6cec61cf

21 months agoBail early from eglot--apply-text-edits if nothing to do
João Távora [Sun, 19 Mar 2023 19:44:31 +0000 (19:44 +0000)]
Bail early from eglot--apply-text-edits if nothing to do

* lisp/progmodes/eglot.el (eglot--apply-text-edits): Early return.

21 months ago; Clarify in-code commentary of eglot--after-change
João Távora [Sun, 19 Mar 2023 01:03:47 +0000 (01:03 +0000)]
; Clarify in-code commentary of eglot--after-change

* lisp/progmodes/eglot.el (eglot--after-change): Minor
clarification to commentary.

21 months agoImprove ergonomics of Eglot's inlay hints
João Távora [Sun, 19 Mar 2023 00:47:55 +0000 (00:47 +0000)]
Improve ergonomics of Eglot's inlay hints

Instead of deleting inlay hints instantly as soon as the affected
changes, make hint overlays span one character (instead of being
length 0).  Give the overlays an "evaporate" property.

Given an inlay hints at position POS, its attached to [POS, POS+1] if
it's kind=1 (usually type hints) and [POS-1, POS] otherwise.  For
kind=1 hints, the 'cursor position of the first such overlay is also
tweaked, so that's it's less akward to edit around it.

* lisp/progmodes/eglot.el (eglot--before-change): Don't delete hints
  here.
  (eglot--update-hints-1): Rework.

21 months ago(textsec-bidi-controls-suspicious-p): Minor tweak
Stefan Monnier [Sat, 21 Jan 2023 13:51:54 +0000 (08:51 -0500)]
(textsec-bidi-controls-suspicious-p): Minor tweak

* lisp/international/textsec.el (textsec-bidi-controls-suspicious-p):
Don't assume point-min==1 (and point-min is marginally more
efficient, to boot).

21 months ago* lisp/frame.el (handle-move-frame): Fix corner case error
Stefan Monnier [Sat, 21 Jan 2023 13:49:48 +0000 (08:49 -0500)]
* lisp/frame.el (handle-move-frame): Fix corner case error

21 months agoProtect against too large size of 'recent-keys' vector
Eli Zaretskii [Sun, 19 Mar 2023 18:44:51 +0000 (20:44 +0200)]
Protect against too large size of 'recent-keys' vector

* src/keyboard.c (MAX_NUM_RECENT_KEYS): New macro.
(Flossage_size): Don't allow specifying too large lossage-size.
Fix data types.  (Bug#62277)

21 months agoRename tramp-use-ssh-controlmaster-options to tramp-use-connection-share
Michael Albinus [Sun, 19 Mar 2023 12:11:06 +0000 (13:11 +0100)]
Rename tramp-use-ssh-controlmaster-options to tramp-use-connection-share

* doc/misc/tramp.texi (Ssh setup): Use tramp-use-connection-share.
Describe its settings for PuTTY.
(Remote processes): Use tramp-use-connection-share.

* etc/NEWS: Renamed user option tramp-use-connection-share.

* lisp/net/tramp-integration.el
(tramp-compile-disable-ssh-controlmaster-options):
Use `tramp-use-connection-share'.

* lisp/net/tramp-sh.el (tramp-use-connection-share):
Rename from `tramp-use-ssh-controlmaster-options'.  Make it a
defvaralias to `tramp-use-ssh-controlmaster-options'.
(tramp-ssh-controlmaster-options): Adapt docstring.
(tramp-methods) <plink, plinkx, pscp, psftp>: Adapt.
(tramp-ssh-controlmaster-options): Add plink implementation.

21 months ago* lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp.
Michael Albinus [Sun, 19 Mar 2023 08:37:35 +0000 (09:37 +0100)]
* lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp.

21 months ago; Remove 'build-module' and 'html-manual' directories from 'admin'
Eli Zaretskii [Sun, 19 Mar 2023 06:09:33 +0000 (08:09 +0200)]
; Remove 'build-module' and 'html-manual' directories from 'admin'

These files were temporarily in the repository and are
no longer needed, once they fulfilled their job.

21 months agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Sun, 19 Mar 2023 05:57:40 +0000 (07:57 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29

21 months agoDon't over-normalize file names starting with "~" in Eshell
Jim Porter [Sun, 12 Mar 2023 07:53:34 +0000 (23:53 -0800)]
Don't over-normalize file names starting with "~" in Eshell

Previously, this would call 'expand-file-name' on the file name, but
that normalizes the value, turning something like "~/." into
"/home/user".  As a result, Pcomplete didn't work for dotfiles after
"~/" (bug#28064).

* lisp/eshell/em-dirs.el (eshell-expand-user-reference): New
function...
(eshell-expand-user-reference): ... use it.

21 months agoUpdate to Org 9.6.1-48-g92471e
Kyle Meyer [Sun, 19 Mar 2023 01:41:22 +0000 (21:41 -0400)]
Update to Org 9.6.1-48-g92471e

21 months ago; * admin/notes/tree-sitter/starter-guide: Update starter-guide.
Yuan Fu [Sat, 18 Mar 2023 21:13:31 +0000 (14:13 -0700)]
; * admin/notes/tree-sitter/starter-guide: Update starter-guide.

21 months agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Sat, 18 Mar 2023 15:14:44 +0000 (17:14 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29

21 months ago; * lisp/nxml/xmltok.el (xmltok-scan-attributes): Fix last change
Gregory Heytings [Sat, 18 Mar 2023 15:04:26 +0000 (15:04 +0000)]
; * lisp/nxml/xmltok.el (xmltok-scan-attributes): Fix last change

21 months ago; Minor copyedits of recent changes in ELisp reference manual
Eli Zaretskii [Sat, 18 Mar 2023 13:54:35 +0000 (15:54 +0200)]
; Minor copyedits of recent changes in ELisp reference manual

* doc/lispref/keymaps.texi (Changing Key Bindings): Fix wording
and markup.

21 months ago; Minor fixes in recent Eglot changes
Eli Zaretskii [Sat, 18 Mar 2023 13:46:05 +0000 (15:46 +0200)]
; Minor fixes in recent Eglot changes

* doc/misc/eglot.texi (Project-specific configuration): Fix
whitespace.

* lisp/progmodes/eglot.el (eglot-diagnostics-map): Doc fix.

21 months ago; * doc/misc/eglot.texi (Eglot Commands): Improve indexing.
Eli Zaretskii [Sat, 18 Mar 2023 13:41:55 +0000 (15:41 +0200)]
; * doc/misc/eglot.texi (Eglot Commands): Improve indexing.

21 months ago; Again correct node reference casing in doc/misc/eglot.texi
João Távora [Sat, 18 Mar 2023 12:43:31 +0000 (12:43 +0000)]
; Again correct node reference casing in doc/misc/eglot.texi

Emacs's info-generating Texinfo incantation seems to be case
insensitive, but others -- like Eglot's HTML manual generation -- is
case sensitive.

* doc/misc/eglot.texi (Eglot Features): Fix.

21 months ago; Remove overly verbose commentary
João Távora [Sat, 18 Mar 2023 12:25:52 +0000 (12:25 +0000)]
; Remove overly verbose commentary

* lisp/progmodes/eglot.el (eglot--connect): Remove overly verbose
commentary.

21 months agoMerge confusing duplicate sections on commands in Eglot manual
João Távora [Sat, 18 Mar 2023 12:28:22 +0000 (12:28 +0000)]
Merge confusing duplicate sections on commands in Eglot manual

Also describe eglot-diagnostics-map.

* doc/misc/eglot.texi (Eglot Features): Don't describe commands here.
(Eglot Commands): Describe commands here.

21 months agoDon't take over mouse-1 binding on Eglot diagnostics (bug#62157)
João Távora [Fri, 17 Mar 2023 22:37:27 +0000 (22:37 +0000)]
Don't take over mouse-1 binding on Eglot diagnostics (bug#62157)

It's better to give the user a variable to allow the overlay keymap to
be customized.

* lisp/progmodes/eglot.el (eglot--mouse-call): Accept second arg.
(eglot--mode-line-props): Adapt call to eglot--mouse-call
(eglot-diagnostics-map): New variable.
(eglot-code-actions-at-mouse): New command.

21 months ago; Prefer "language server" to "LSP server" in Eglot manual
João Távora [Fri, 17 Mar 2023 22:33:46 +0000 (22:33 +0000)]
; Prefer "language server" to "LSP server" in Eglot manual

* eglot.texi (Quick Start, Customizing Eglot)
(Project-specific configuration)
(Troubleshooting Eglot): LSP server -> language server.

21 months ago* lisp/progmodes/eglot.el (eglot--connect): Improve Tramp workaround.
Michael Albinus [Sat, 18 Mar 2023 12:13:56 +0000 (13:13 +0100)]
* lisp/progmodes/eglot.el (eglot--connect): Improve Tramp workaround.

21 months agoPrefix Tramp internal process properties with "tramp-".
Michael Albinus [Sat, 18 Mar 2023 11:54:51 +0000 (12:54 +0100)]
Prefix Tramp internal process properties with "tramp-".

* lisp/net/tramp.el (tramp-get-process, tramp-message)
(tramp-handle-make-process, tramp-handle-file-notify-valid-p)
(tramp-process-actions, tramp-accept-process-output)
(tramp-process-sentinel, tramp-read-passwd)
(tramp-interrupt-process, tramp-signal-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-cmds.el (tramp-cleanup-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch)
(tramp-gvfs-monitor-process-filter)
(tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-file-notify-add-watch)
(tramp-sh-gio-monitor-process-filter)
(tramp-sh-inotifywait-process-filter)
(tramp-barf-if-no-shell-prompt, tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
(tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
(tramp-smb-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection)
(tramp-sudoedit-send-command): Prefix internal process properties
with "tramp-".

21 months agoAvoid slowdowns in xmltok-scan-attributes
Gregory Heytings [Sat, 18 Mar 2023 10:49:29 +0000 (10:49 +0000)]
Avoid slowdowns in xmltok-scan-attributes

* lisp/nxml/xmltok.el (xmltok-scan-attributes): Limit the search
to 10000 characters, to avoid slowdowns due to the quadratic
complexity of the regexp.  Suggested by Stefan Monnier.