1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-06 23:51:24 -08:00
Commit graph

165582 commits

Author SHA1 Message Date
Eli Zaretskii
4a2dccd6a6 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)
2023-03-24 21:37:11 +03:00
João Távora
e79b4ccd79 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.
2023-03-24 17:37:42 +00:00
João Távora
a384401eab 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.
2023-03-24 17:37:42 +00:00
Mattias Engdegård
3e32865d2c * etc/NEWS: Mention that \x without hex digits is an error. 2023-03-24 16:31:14 +01:00
João Távora
541eec259b 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.
2023-03-24 15:08:50 +00:00
JD Smith
4566a0c6b8 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
2023-03-23 21:14:21 +00:00
João Távora
fe8af4eb30 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.
2023-03-23 21:14:21 +00:00
João Távora
67c1e6e89c Eglot: inform ElDoc about overly long 'hover' docs
* lisp/progmodes/eglot.el (eglot-hover-eldoc-function): Include :echo
  info in return value.
2023-03-23 21:14:21 +00:00
João Távora
e19994fe8c 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'.
2023-03-23 21:14:18 +00:00
João Távora
9b18407c7f 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.
2023-03-23 21:14:15 +00:00
João Távora
0effdb29d6 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.
2023-03-23 21:12:18 +00:00
João Távora
f20fe3e11a Eglot: more leniently handle 'window/showMessageRequest'
Some servers mess up this message's arguments.

* lisp/progmodes/eglot.el (eglot-handle-request): Fix.
2023-03-23 21:12:08 +00:00
Michael Albinus
b19d040a4f 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'.
2023-03-23 17:09:52 +01:00
Michael Albinus
117a29fd18 * test/infra/Dockerfile.emba (emacs-eglot): Install wget. 2023-03-23 10:21:11 +01:00
Wilhelm H Kirschbaum
90c0472ed6 ; Add test for embedded HEEx to elixir-ts-mode-tests
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test.  (Bug#62327)
2023-03-23 10:49:19 +02:00
Eli Zaretskii
6731c8827b ; * lisp/progmodes/eglot.el (eglot-server-programs): Fix last change. 2023-03-23 10:48:31 +02:00
Wilhelm H Kirschbaum
50a2b34ca7 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.
2023-03-23 10:48:10 +02:00
Stefan Kangas
90dca0a533 Merge from origin/emacs-29
6de00e4df9 ; Fix xref-match's :version since the default value did c...
db355b420b Use libgccjit-10-dev on EMBA
8496395653 * lisp/outline.el (outline--fix-buttons-after-change): Ad...
3d3bbaace6 Align concatenated strings to the first sibling in c-ts-mode
f856468e45 Only fill the current paragraph in c-ts-common--fill-bloc...
df669c5a11 Add missing indent rule for c-ts-mode
2023-03-23 06:30:13 +01:00
Dmitry Gutov
6de00e4df9 ; Fix xref-match's :version since the default value did change 2023-03-23 02:44:54 +02:00
Sean Whitton
e11813d574 Make icomplete-tidy-shadowed-file-names into a defcustom
lisp/icomplete.el (icomplete-tidy-shadowed-file-names): Make variable
into a defcustom.
2023-03-22 12:14:43 -07:00
Felician Nemeth
c5f369bacc 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:
2023-03-22 18:34:45 +00:00
Michael Albinus
db355b420b 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.
2023-03-22 18:34:23 +01:00
Eli Zaretskii
e340354299 Fix compilation of lib-src/movemail
* lib-src/movemail.c: Include timespec.h.  Reported by Andreas
Schwab <schwab@linux-m68k.org>.
2023-03-22 17:26:22 +02:00
Michael Albinus
5fbda320fc 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.
2023-03-22 15:00:15 +01:00
Robert Pluim
103ebbf92f 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.
2023-03-22 12:48:49 +01:00
Juri Linkov
8496395653 * 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.
2023-03-22 09:44:02 +02:00
Yuan Fu
3d3bbaace6
Align concatenated strings to the first sibling in c-ts-mode
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Change rule.
2023-03-21 23:27:20 -07:00
Yuan Fu
f856468e45
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.
2023-03-21 22:50:03 -07:00
Stefan Kangas
2d0de86361 Merge from origin/emacs-29
8b6a0de964 Improve docstring of treesit-parent-while (bug#62301)
35648a8673 ; Delete accidental leftover '()' Eglot function
47d8e4b0d3 Eglot: report window/workDoneProgress capability to langu...
4a7a0c9a9f * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Impr...
4a6eefb93a Expand defvar-keymap documentation
7a1272168a * lisp/treesit.el (treesit-end-of-defun): Guard arg again...
263d6c3853 Comp fix calls to redefined primtives with op-bytecode (b...
6bf441ff11 Warn package authors away from keymap-unset with REMOVE
786de66ec3 Comment out jobs on EMBA
eed240bc02 Improve defvar-keymap docstring.
2023-03-22 06:30:12 +01:00
Stefan Monnier
5904bdf581 (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.
2023-03-21 21:48:24 -04:00
Yuan Fu
df669c5a11
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.
2023-03-21 16:24:29 -07:00
Yuan Fu
8b6a0de964
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.
2023-03-21 14:51:41 -07:00
Paul Eggert
640fd9b594 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.
2023-03-21 14:42:18 -07:00
Paul Eggert
2e8cc206f5 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>.
2023-03-21 14:42:17 -07:00
Michael Albinus
4a5ff4d9c6 Invert variable alias declaration in Tramp
* lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options):
Invert alias declaration.  (Bug#62295, Bug#62329)
2023-03-21 21:24:13 +01:00
João Távora
0d5036061b 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.
2023-03-21 18:43:58 +00:00
Michael Albinus
dec09aaeb6 Improve Tramp backward compatibility
* lisp/net/tramp-gvfs.el (while-no-input-ignore-events):
Add `dbus-event' for older Emacs versions.
2023-03-21 16:14:40 +01:00
João Távora
35648a8673 ; Delete accidental leftover '()' Eglot function
* lisp/progmodes/eglot.el (eglot--workspace-configuration-plist):
Remove ().
2023-03-21 14:43:11 +00:00
João Távora
47d8e4b0d3 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.
2023-03-21 14:43:11 +00:00
Andrea Corallo
4a7a0c9a9f * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Improve 263d6c3853 2023-03-21 12:10:31 +01:00
Robert Pluim
4a6eefb93a Expand defvar-keymap documentation
* doc/lispref/keymaps.texi (Creating Keymaps): Describe the :repeat keyword.
2023-03-21 10:57:39 +01:00
Dmitry Gutov
7a1272168a * lisp/treesit.el (treesit-end-of-defun): Guard arg against nil (bug#62158). 2023-03-20 20:18:42 +02:00
Andrea Corallo
263d6c3853 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.
2023-03-20 19:01:26 +01:00
Robert Pluim
6bf441ff11 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'.
2023-03-20 16:21:36 +01:00
Michael Albinus
786de66ec3 Comment out jobs on EMBA
* test/infra/gitlab-ci.yml: Comment out jobs due to bug#62210 and
bug#62211.
2023-03-20 10:06:05 +01:00
Robert Pluim
eed240bc02 Improve defvar-keymap docstring.
* lisp/keymap.el (defvar-keymap): Improve description of ':enter' and
':exit' usage for ':repeat' keyword.
2023-03-20 09:47:32 +01:00
Stefan Kangas
42fba8f36b Merge from origin/emacs-29
b7f0333355 Improve warning about changing the string returned by sym...
e62f8b0239 Fix visiting XBM/XPM files when 'c-ts-mode' is active
94d1c81cf0 * lisp/mpc.el (mpc-format): Fix oversight in commit 48b6c...
a4d97811ed Bail early from eglot--apply-text-edits if nothing to do
61d571760b ; Clarify in-code commentary of eglot--after-change
5bbbd70f56 Improve ergonomics of Eglot's inlay hints
c3a543123a Protect against too large size of 'recent-keys' vector
231190b37f * lisp/net/tramp.el (tramp-yn-prompt-regexp): Fix regexp.
0bebd0e5f0 ; Remove 'build-module' and 'html-manual' directories fro...
6674c362ad Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
829e5dfabe Update to Org 9.6.1-48-g92471e
e84f878e19 ; * admin/notes/tree-sitter/starter-guide: Update starter...
ea0949853f Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
11592bcfda ; * lisp/nxml/xmltok.el (xmltok-scan-attributes): Fix las...
e388a77cf0 ; Minor copyedits of recent changes in ELisp reference ma...
33a2670368 ; Minor fixes in recent Eglot changes
d2cf1386fa ; * doc/misc/eglot.texi (Eglot Commands): Improve indexing.
b75e489362 ; Again correct node reference casing in doc/misc/eglot.texi
a55d2edc5a ; Remove overly verbose commentary
22a70451f3 Merge confusing duplicate sections on commands in Eglot m...
3293f93988 Don't take over mouse-1 binding on Eglot diagnostics (bug...
013057e351 ; Prefer "language server" to "LSP server" in Eglot manual
94a21c8864 * lisp/progmodes/eglot.el (eglot--connect): Improve Tramp...
0eddfa28eb Avoid slowdowns in xmltok-scan-attributes
647c6bf2a6 ; * test/lisp/abbrev-tests.el (abbrev--possibly-save-test...
531f8f7103 ; * admin/git-bisect-start: Update failing commits

# Conflicts:
#	admin/notes/tree-sitter/build-module/batch.sh
#	admin/notes/tree-sitter/build-module/build.sh
2023-03-20 06:30:40 +01:00
Stefan Kangas
3a11371d54 ; Merge from origin/emacs-29
The following commits were skipped:

147773a1ef CC Mode: Eliminate duplicate function c-list-of-strings
f77ea400db CC Mode: Allow lists of strings as safe values for *-font...
2023-03-20 06:30:39 +01:00
Stefan Kangas
bcbfb88c2f Merge from origin/emacs-29
aedb9e3ec3 Add tests for Bug#62207
faee8d5073 ; Fix 'make-obsolete-variable' forms
2023-03-20 06:30:39 +01:00
Stefan Kangas
f887357756 ; Merge from origin/emacs-29
The following commit was skipped:

f0b4ebbaf6 Fix 'find-ls-option-default-ls' for BSD/MacOS (bug#62096)
2023-03-20 06:30:39 +01:00