1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-25 14:01:33 -08:00
Commit graph

165781 commits

Author SHA1 Message Date
João Távora
fc8230f336 Eglot: no more tests based on Pylsp (bug#62694)
The functionality under test in eglot.el is exactly the same, but use
the clangd server only, as that is used in more tests, and it is much
easier to check if it misbehaves or not.

Tests pass with clangd version 15.

* test/lisp/progmodes/eglot-tests.el (python): Don't require it.
(eglot--call-with-fixture): Simplify.
(eglot--wait-for-clangd): New helper.
(eglot-test-basic-completions)
(eglot-test-non-unique-completions, eglot-test-basic-xref)
(eglot-test-snippet-completions)
(eglot-test-snippet-completions-with-company)
(eglot-test-eldoc-after-completions, eglot-test-multiline-eldoc):
Use clangd, not pylsp.
(eglot-test-formatting): Renamed from
eglot-test-python-autopep-formatting.
(eglot-test-python-yapf-formatting): Remove.
2023-04-07 14:55:09 +01:00
João Távora
b1f8d98a11 Eglot: rework eglot-imenu
Most newer servers return a vector of 'DocumentSymbol' as a response
to 'textDocument/documentSymbol'.  It's not worth trying to dumb this
down to imenu format of 'SymbolInformation' vectors.

This lays groundwork for the forthcoming "breadcrumb" feature of
bug#58431.

* lisp/progmodes/eglot.el
(eglot--imenu-SymbolInformation, eglot--imenu-DocumentSymbol): New
helpers.
(eglot-imenu): Rework.
2023-04-07 12:57:59 +01:00
Eli Zaretskii
5e5f5b28e9 Avoid failing the build when org-version.el is updated
* lisp/Makefile.in: Force recompilation of all Org files when
org-version.el is updated with a new Org version.
2023-04-06 22:14:59 +03:00
Eli Zaretskii
2d1a96e878 Merge from origin/emacs-29
305246d972 Add emoji-zoom-reset
470d269ec1 Make emoji-zoom-{increase,decrease} set text properties c...
63d4a86f8d Fix transforming sliced images
5e1953a8f8 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
6b9f9df945 ; Improve documentation of 'declare-function'
81d1f46d0f ; Avoid compiler warning in eglot.el.
38cdfcb212 ; Fix description of new 'keymap-*' functions
257090b872 Adapt EMBA scripts.
90c07d3fdd Another terminology fix in ELisp reference manual
a832bc7090 Correct terminology in Elisp Reference Manual
db308233cb Comment out GNUSTEP jobs on EMBA (again)
8c1b102243 ; * lisp/image.el (put-image): Doc fix.
eda88c63ad ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
728bc09cf3 Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
479626dbac Update to Org 9.6.3-2-gf2949d
5a1c9aace7 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
86cf9fd932 Eglot: don't watch directories that don't exist
82d0b6c64e ; * lisp/subr.el (use-dialog-box-p): Fix last change.
3619663f98 Preserve peer information for web page in eww-readable
cb8d6ab648 * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
fb2c440920 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...

# Conflicts:
#	etc/NEWS
2023-04-06 14:38:20 -04:00
Eli Zaretskii
f7e8586104 ; Merge from origin/emacs-29
The following commit was skipped:

89e337c3fc ; Make sure 'eshell-command' tests don't prompt the user
2023-04-06 14:38:16 -04:00
Eli Zaretskii
40860b61ee Merge from origin/emacs-29
b39c3cd112 ; * etc/NEWS: Fix typos.
89ac5ba11c Fix ModelSim error regexp in vhdl-mode
24ed9c7ae7 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (...
d1d39a0f09 Document enhancements in handling of echo-area messages

# Conflicts:
#	etc/NEWS
2023-04-06 14:38:13 -04:00
Eli Zaretskii
c755463f04 ; Merge from origin/emacs-29
The following commits were skipped:

46209b2453 ; Fix last change
21a4ee209c Fix new Eshell tests on MS-Windows
e2ebf3995d ; Auto-commit of loaddefs files.
6419d78fa6 Fix using background commands in 'eshell-command'
2023-04-06 14:38:04 -04:00
Michael Albinus
5ae0c16732 Describe how to run Emba tests locally
* admin/notes/emba: Describe how to run Emba tests locally.

* test/infra/Dockerfile.emba (emacs-eglot):  Adapt software selection.
2023-04-06 16:31:49 +02:00
Robert Pluim
305246d972 Add emoji-zoom-reset
* lisp/international/emoji.el (emoji-zoom-map): Add emoji-zoom-reset.
(emoji-zoom-reset): New function, it resets the zoom level.
* lisp/international/mule-cmds.el (ctl-x-map): Add emoji-zoom-reset.
* etc/NEWS: Announce new command.
2023-04-06 13:36:11 +02:00
Robert Pluim
470d269ec1 Make emoji-zoom-{increase,decrease} set text properties correctly
* lisp/international/emoji.el (emoji-zoom-increase): Ensure that we're
increasing the :height of the anonymous face at point, rather than
having two :height properties, which appeared to work by
accident, and don't error at eob.  (Bug#62675)
2023-04-06 13:36:11 +02:00
Liu Hui
27a21709c1 Restore positions reliably for abbreviated file names in saveplace.el
* lisp/saveplace.el (save-place-abbreviate-file-names): Add setter
function for rewriting `save-place-alist'.  Update docstring.
(save-place-to-alist): Save Abbreviated dired-filename.
(save-place-load-alist-from-file): Move this function above
`save-place-abbreviate-file-names' since it is used in the :set
function.
(save-place-find-file-hook):
(save-place-dired-hook): Use abbreviated file name when
`save-place-abbreviate-file-names' is non-nil.
(Bug#62413)
2023-04-06 13:25:54 +03:00
Wilhelm H Kirschbaum
0563dbf95d Handle electric heredocs pairs in elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--electric-pair-string-delimiter): New helper.
(elixir-ts-mode): Add post-self-insert-hook.  (Bug#62536)
2023-04-06 13:05:39 +03:00
Wilhelm H Kirschbaum
c6bbc20c38 Propertize heredocs in elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--syntax-propertize-query): New variable.
(elixir-ts--syntax-propertize): New helper.
(elixir-ts-mode): Set syntax-propertize-function.  (Bug#62536)
2023-04-06 13:04:54 +03:00
Eli Zaretskii
63d4a86f8d Fix transforming sliced images
* lisp/image.el (image--get-image): Support sliced images
(bug#62679).  Doc fix.
(image-mouse-decrease-size, image-mouse-increase-size)
(image-decrease-size, image-increase-size): Doc fixes.
2023-04-06 12:35:17 +03:00
Alan Mackenzie
e579c9cc33 CC Mode: Miscellaneous coding fixes in c-forward-type
This fixes bug #62339.

* lisp/progmodes/cc-engine.el (c-forward-type): In the implicit int handling,
respect the setting of the parameter stop-at-end.  In the case "normal
identifier", insert a missing (c-forward-syntactic-ws); this fixes the bug.
Here, correct the wrong return value `prefix' to t.
2023-04-06 09:14:56 +00:00
Po Lu
d6ac262746 ; Fix compiler warning
* src/xterm.c (x_term_init): Fix:

"xterm.c", line 30759: warning: improper pointer/integer
combination: op "="
2023-04-06 10:07:25 +08:00
Andrea Corallo
fa669c4b17 Comp: Fix limplification pass (bug#62537)
* test/src/comp-resources/comp-test-funcs.el (comp-test-62537-1-f)
(comp-test-62537-2-f): New functions.

* lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): Make it
stricter add a comment.
2023-04-05 19:12:42 +02:00
Eli Zaretskii
5e1953a8f8 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' functions. 2023-04-05 16:50:58 +03:00
Alan Mackenzie
a42f4a775b CC Mode: Fix fontification problems shown by test file templates-20.cc
Also fix one problem evident in test file decls-10.cc.

* lisp/progmodes/cc-engine.el (c-brace-stack-at): Bind
c-record-type-identifiers to nil to prevent called functions recording
identifiers spuriously.
(c-forward-<>-arglist-recur): Revert the ill-advised optimization from autumn
2022 which attempted to avoid re-marking c-type text properties inside angle
bracket arglists.
(c-forward-decl-or-cast-1): Accept the semicolon at the end of "t8 * id;" as
sufficient evidence to fontify as a declaration (not a multiplication).

* lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): No longer fontify the
last component of foo::bar with c-reference-face-name.
2023-04-05 13:02:12 +00:00
Eli Zaretskii
6b9f9df945 ; Improve documentation of 'declare-function'
* doc/lispref/functions.texi (Declaring Functions):
* lisp/subr.el (declare-function): Document explicitly that
ARGLIST argument, if provided, should include the parentheses.
2023-04-05 12:31:01 +03:00
Eli Zaretskii
81d1f46d0f ; Avoid compiler warning in eglot.el. 2023-04-05 12:23:54 +03:00
Eli Zaretskii
38cdfcb212 ; Fix description of new 'keymap-*' functions
* doc/lispref/keymaps.texi (Prefix Keys): Fix example (bug#62673).
(Functions for Key Lookup): Clarify the possible values of KEYMAP
argument of 'keymap-lookup'.
(Active Keymaps): Fix typo in function name; add cross-reference.
2023-04-05 11:31:15 +03:00
Wilhelm H Kirschbaum
8678708ad1
Improve sigil fontification for elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el:
(elixir-ts--font-lock-settings): Update sigil queries.
2023-04-04 23:01:21 -07:00
Wilhelm H Kirschbaum
eb0a9e4633
Improve list indentation for elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el:
(elixir-ts--argument-indent-offset): Add empty line check.
(elixir-ts--argument-indent-anchor): Change ERROR offset.
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test.
2023-04-04 23:01:21 -07:00
Dmitry Gutov
830bf66dad ruby-ts-mode: Add more constructs to treesit-sexp-type-regexp
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add more
constructs to treesit-sexp-type-regexp (bug#62086).
2023-04-05 03:00:57 +03:00
Michael Albinus
257090b872 Adapt EMBA scripts.
* test/infra/Dockerfile.emba (emacs-gnustep): Add zlib1g-dev.
Remove make instrumentation.

* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep): Uncomment.
2023-04-04 20:01:19 +02:00
Michael Albinus
30692f16b1 Improve Tramp robustness
* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Check for `tramp-string-empty-or-nil-p'.
2023-04-04 13:37:18 +02:00
Eli Zaretskii
90c07d3fdd Another terminology fix in ELisp reference manual
* doc/lispref/frames.texi (Mouse Tracking):
* doc/lispref/commands.texi (Motion Events, Event Examples):
'track-mouse' is a macro, not a special form.
2023-04-04 14:22:56 +03:00
Shynur
a832bc7090 Correct terminology in Elisp Reference Manual
* doc/lispref/functions.texi (Function Names): 'defun' is a macro, not
a special form.  (Bug#62661)

Copyright-paperwork-exempt: yes
2023-04-04 14:16:23 +03:00
Michael Albinus
db308233cb Comment out GNUSTEP jobs on EMBA (again)
* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep):
Comment out jobs due to bug#62210.
2023-04-04 13:00:51 +02:00
Michael Albinus
b3046c6c1f Display unlock-file warning only when file locks are enabled
* lisp/files.el (remote-file-name-inhibit-locks): Fix docstring.

* lisp/userlock.el (userlock--handle-unlock-error):
Display warning only when `create-lockfiles' is non-nil.  (Bug#62614)

* lisp/net/tramp.el (tramp-handle-unlock-file): Raise a warning
only when `create-lockfiles' is non-nil or
`remote-file-name-inhibit-locks' is nil.
2023-04-04 09:43:09 +02:00
Juri Linkov
3b48fdc912 ruby-ts-mode: Recognize more nodes as sexps
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Add "unless" to 'treesit-sexp-type-regexp'.
2023-04-04 09:42:10 +03:00
Dmitry Gutov
bd5c1d1cbb ruby-ts-mode: Recognize more nodes as sexps
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Argument
treesit-sexp-type-regexp with interpolation, instance_variable,
global_variable (bug#62086, bug#62416).
2023-04-03 23:39:41 +03:00
Eli Zaretskii
8c1b102243 ; * lisp/image.el (put-image): Doc fix. 2023-04-03 19:32:46 +03:00
Michael Albinus
0275c54ca8 ; Fix last change 2023-04-03 16:00:11 +02:00
Andrew G Cohen
676087e701 ; * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Just setq 2023-04-03 21:53:50 +08:00
Robert Pluim
eda88c63ad ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix. 2023-04-03 14:42:54 +02:00
Michael Albinus
4a1df61946 Fix some `unwind-protect' forms
* lisp/net/tramp-smb.el (tramp-smb-handle-file-acl)
(tramp-smb-handle-set-file-acl): Remove superfluous `unwind-protect'.

* test/lisp/auth-source-tests.el
(auth-source-test-secrets-create-secret): Fix `unwind-protect' handler.

* test/lisp/net/tramp-tests.el (tramp-test38-find-backup-file-name):
Add dummy cleanup form.
2023-04-03 13:18:55 +02:00
Mattias Engdegård
728bc09cf3 Fix regexp string escaping mistake in vhdl-mode.el (bug#62508)
* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Quote brackets
correctly.
2023-04-03 12:57:54 +02:00
Po Lu
9a8d96da5c Improve portability of newly added icons
* etc/images/symbols/README: Document what to do with changed icons.
* etc/images/symbols: Add portable variants of SVG icons.
2023-04-03 16:16:06 +08:00
Yuan Fu
6984601e0d
Modify chevron icons and add some more
* etc/images/symbols/chevron_left_16.svg:
* etc/images/symbols/chevron_right_16.svg: Make them shorter so that
they appear roughly the same size as up and down chevrons.
* etc/images/symbols/cross_circle_fill_16.svg:
* etc/images/symbols/heart_16.svg:
* etc/images/symbols/heart_fill_16.svg:
* etc/images/symbols/heart_half_16.svg:
* etc/images/symbols/minus_circle_fill_16.svg:
* etc/images/symbols/plus_circle_fill_16.svg: New icons.
2023-04-03 00:30:00 -07:00
Kyle Meyer
479626dbac Update to Org 9.6.3-2-gf2949d 2023-04-02 23:03:32 -04:00
João Távora
8125d4cfc5 Eglot: Bump to 1.14
* lisp/progmodes/eglot.el (Version): Bump to 1.14
(Package-Requires): Require ElDoc 1.14.0

* etc/EGLOT-NEWS: Update.
2023-04-03 01:40:30 +01:00
João Távora
c108132d3b Merge from origin/emacs-29
3bdbb66efb ; CONTRIBUTE: Minor stylistic changes.
d0eb12e8d3 Fix typo in section 14.1 of Emacs Manual
b2fbec37f3 ; * etc/EGLOT-NEWS: Clarify scope of topmost section
131ec049db Eglot: unbreak eglot-extend-to-xref on w32
0622e1f29f Eglot: ensure server shutdown turns off eglot-inlay-hints...
59f66ea302 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ...
d23dc3dd7e ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua...
4508a024e8 ; Clarify documentation of 'cursor' text property
d2e82817a3 Add two typescript-ts-mode faces (bug#62429)
10918fc9d2 Fix scrolling window when point moves up
9b32bc134c Improve documentation of 'defcustom's :set keyword
ab4273056e Comp fix calls to redefined primtives with op-bytecode (b...
c98929c7e1 ; Fix last change
a14c3f62a6 ; Fix last change
09fece5722 Fix duplicate defcustom in eww.el
e45bd10a3d Fix indentation regression in 'C-h l'
46fd10a760 * doc/misc/tramp.texi (Remote shell setup): Clarify use o...
2023-04-03 00:33:03 +01:00
João Távora
f886ae5cf0 ; * etc/EGLOT-NEWS (Upcoming 1.14): Update. 2023-04-03 00:00:18 +01:00
João Távora
f2357df91f Eldoc: bump package version to 1.14.0
* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.14.0
2023-04-02 23:40:46 +01:00
João Távora
87f025117b ; Eldoc: fix doc of e-d-functions w.r.t. :origin keyword
* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Fix.
2023-04-02 23:40:46 +01:00
João Távora
ecf53a5003 ; Eglot: removed unused dependency on 'array.el'
* lisp/progmodes/eglot.el (array): Don't require
2023-04-02 23:40:46 +01:00
João Távora
bdb400912e Eglot: load built-in GNU ELPA dependencies explicitly
Because of outstanding bug#62576, it's way to easy for users to get
confused by the M-x package-install process for Eglot.

Whenever an Eglot release depends on a new version of a GNU ELPA :core
package which is _also_ provided built-in, M-x package-install will
install that dependency, but will not always load it on top of the
built-in one.

The solution is to not use "require" for now.  This may potentially
lead to double "loads", but that should in principle be idempotent.

* lisp/progmodes/eglot.el (project, eldoc, seq, flymake, xref, jsonrpc)
(external-completion): Load, don't require.
2023-04-02 23:40:46 +01:00
João Távora
ad1efe5e67 Eglot: improve caching in eglot-completion-at-point
When answering the :textDocument/completion request, LSP servers
provide a :isIncomplete flag in the response, which allows Eglot to
know if "further typing should result in recomputing [the completions]
list.

If :isIncomplete is false (i.e. the full set was returned), Eglot
caches the response in a global variable eglot--capf-cache that
persists for the duration of the "completion session", taken to be the
interval between two calls to completion-in-region-mode.

If the cache has been set, and Eglot detects that "further typing" has
happened, it is safe to use the cache instead of making a request to
the server.

Thus eglot--capf-cache-flush, added to completion-in-region-mode-hook,
is used to flush this cache.  Since the popular Company completion
package doesn't use completion-in-region-mode, eglot--capf-cache-flush
is also added to its company-after-completion-hook.

* lisp/progmodes/eglot.el (eglot--managed-mode): Set
'completion-in-region-mode-hook and company-after-completion-hook.
(eglot--capf-cache): New variable.
(eglot--capf-cache-flush): New function.
(eglot-completion-at-point): Rework.

* etc/EGLOT-NEWS: Update.
2023-04-02 23:40:46 +01:00