]> git.eshelyaron.com Git - emacs.git/log
emacs.git
20 months agoEglot: be careful about gfm-view-mode read-only buffers
João Távora [Fri, 7 Apr 2023 18:40:27 +0000 (19:40 +0100)]
Eglot: be careful about gfm-view-mode read-only buffers

Although in most situations this doesn't error, it's only because of
the very wide binding of inhibit-read-only in jsonrpc--process-filter.
That binding will soon be narrowed, so better not rely on it.

Originally reported in
https://github.com/joaotavora/eglot/discussions/1202.

* lisp/progmodes/eglot.el (eglot--format-markup): Inhibit
read-only before touching buffer potentially in gfm-view-mode.

20 months ago; Eglot: fix misplaced parenthesis in last commit to eglot-tests.el
João Távora [Fri, 7 Apr 2023 17:52:06 +0000 (18:52 +0100)]
; Eglot: fix misplaced parenthesis in last commit to eglot-tests.el

* test/lisp/progmodes/eglot-tests.el
(eglot-test-eldoc-after-completions): Fix misplaced parenthesis.

20 months ago; * test/src/comp-tests.el (61917-1): Underscore unused parameter.
Mattias Engdegård [Fri, 7 Apr 2023 17:19:58 +0000 (19:19 +0200)]
; * test/src/comp-tests.el (61917-1): Underscore unused parameter.

20 months agoRemove useless unwind-protect forms, or make them useful as intended
Mattias Engdegård [Fri, 7 Apr 2023 14:29:32 +0000 (16:29 +0200)]
Remove useless unwind-protect forms, or make them useful as intended

* lisp/imenu.el (imenu--generic-function):
* lisp/mail/yenc.el (yenc-decode-region):
* lisp/textmodes/table.el (table-recognize-region):
* test/lisp/dired-tests.el (dired-test-directory-files):
* test/lisp/hl-line-tests.el (hl-line-tests-sticky):
Fix unwind-protect bracketing mistakes that caused the unwind code to
be misplaced.
* lisp/strokes.el (strokes-read-stroke): Fix a bracketing mistake that
misplaced the unwind code, and another one that misplaced the
else-clause of an `if` form.
* test/lisp/gnus/mml-sec-tests.el (mml-secure-test-fixture): Fix a
bracketing mistake that misplaced the unwind code, and remove
superfluous condition-case.

* lisp/mwheel.el (mouse-wheel-global-text-scale):
* lisp/speedbar.el (speedbar-stealthy-updates)
(speedbar-fetch-dynamic-etags):
* lisp/emacs-lisp/edebug.el (edebug--recursive-edit):
* lisp/emacs-lisp/package.el (package--read-pkg-desc):
* lisp/cedet/semantic.el (semantic-refresh-tags-safe):
* lisp/emulation/viper-cmd.el (viper-escape-to-state):
* lisp/emulation/viper-cmd.el (viper-file-add-suffix):
* lisp/gnus/mail-source.el (mail-source-movemail):
* lisp/mail/feedmail.el (feedmail-send-it-immediately)
(feedmail-deduce-address-list):
* lisp/mail/mailclient.el (mailclient-send-it):
* lisp/mail/smtpmail.el (smtpmail-deduce-address-list):
* lisp/mh-e/mh-print.el (mh-ps-print-range):
* lisp/textmodes/reftex-index.el (reftex-index-this-phrase):
* test/lisp/emacs-lisp/ert-tests.el (ert-test-run-tests-batch):
(ert-test-run-tests-batch-expensive):
Remove unwind-protect forms that are apparently useless, some since a
prior edit that removed their purpose, some since their first
appearance.

* test/lisp/subr-tests.el (subr-test--frames-2):
Insert dummy unwind form in backtrace test code.

20 months ago* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Michael Albinus [Fri, 7 Apr 2023 15:08:46 +0000 (17:08 +0200)]
* test/infra/Dockerfile.emba (emacs-eglot):  Adapt software selection.

20 months agoEglot: no more tests based on Pylsp (bug#62694)
João Távora [Fri, 7 Apr 2023 13:55:01 +0000 (14:55 +0100)]
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.

20 months agoEglot: rework eglot-imenu
João Távora [Fri, 7 Apr 2023 11:54:39 +0000 (12:54 +0100)]
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.

20 months agoAvoid failing the build when org-version.el is updated
Eli Zaretskii [Thu, 6 Apr 2023 19:14:59 +0000 (22:14 +0300)]
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.

20 months agoMerge from origin/emacs-29
Eli Zaretskii [Thu, 6 Apr 2023 18:38:20 +0000 (14:38 -0400)]
Merge from origin/emacs-29

305246d9726 Add emoji-zoom-reset
470d269ec1f Make emoji-zoom-{increase,decrease} set text properties c...
63d4a86f8d1 Fix transforming sliced images
5e1953a8f85 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
6b9f9df9454 ; Improve documentation of 'declare-function'
81d1f46d0fe ; Avoid compiler warning in eglot.el.
38cdfcb2128 ; Fix description of new 'keymap-*' functions
257090b8728 Adapt EMBA scripts.
90c07d3fdd2 Another terminology fix in ELisp reference manual
a832bc7090c Correct terminology in Elisp Reference Manual
db308233cb3 Comment out GNUSTEP jobs on EMBA (again)
8c1b1022439 ; * lisp/image.el (put-image): Doc fix.
eda88c63adf ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
728bc09cf3c Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
479626dbac9 Update to Org 9.6.3-2-gf2949d
5a1c9aace70 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
86cf9fd932c Eglot: don't watch directories that don't exist
82d0b6c64ea ; * lisp/subr.el (use-dialog-box-p): Fix last change.
3619663f982 Preserve peer information for web page in eww-readable
cb8d6ab648f * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
fb2c4409207 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...

# Conflicts:
# etc/NEWS

20 months ago; Merge from origin/emacs-29
Eli Zaretskii [Thu, 6 Apr 2023 18:38:16 +0000 (14:38 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

89e337c3fc9 ; Make sure 'eshell-command' tests don't prompt the user

20 months agoMerge from origin/emacs-29
Eli Zaretskii [Thu, 6 Apr 2023 18:38:13 +0000 (14:38 -0400)]
Merge from origin/emacs-29

b39c3cd1125 ; * etc/NEWS: Fix typos.
89ac5ba11c7 Fix ModelSim error regexp in vhdl-mode
24ed9c7ae78 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (...
d1d39a0f09c Document enhancements in handling of echo-area messages

# Conflicts:
# etc/NEWS

20 months ago; Merge from origin/emacs-29
Eli Zaretskii [Thu, 6 Apr 2023 18:38:04 +0000 (14:38 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

46209b2453b ; Fix last change
21a4ee209c1 Fix new Eshell tests on MS-Windows
e2ebf3995d0 ; Auto-commit of loaddefs files.
6419d78fa6f Fix using background commands in 'eshell-command'

20 months agoDescribe how to run Emba tests locally
Michael Albinus [Thu, 6 Apr 2023 14:31:49 +0000 (16:31 +0200)]
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.

20 months agoAdd emoji-zoom-reset
Robert Pluim [Wed, 5 Apr 2023 15:24:38 +0000 (17:24 +0200)]
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.

20 months agoMake emoji-zoom-{increase,decrease} set text properties correctly
Robert Pluim [Wed, 5 Apr 2023 13:19:13 +0000 (15:19 +0200)]
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)

20 months agoRestore positions reliably for abbreviated file names in saveplace.el
Liu Hui [Tue, 4 Apr 2023 01:13:32 +0000 (09:13 +0800)]
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)

20 months agoHandle electric heredocs pairs in elixir-ts-mode
Wilhelm H Kirschbaum [Sun, 2 Apr 2023 07:43:20 +0000 (09:43 +0200)]
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)

20 months agoPropertize heredocs in elixir-ts-mode
Wilhelm H Kirschbaum [Tue, 21 Mar 2023 14:34:48 +0000 (16:34 +0200)]
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)

20 months agoFix transforming sliced images
Eli Zaretskii [Thu, 6 Apr 2023 09:35:17 +0000 (12:35 +0300)]
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.

20 months agoCC Mode: Miscellaneous coding fixes in c-forward-type
Alan Mackenzie [Thu, 6 Apr 2023 09:14:56 +0000 (09:14 +0000)]
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.

20 months ago; Fix compiler warning
Po Lu [Thu, 6 Apr 2023 02:06:28 +0000 (10:06 +0800)]
; Fix compiler warning

* src/xterm.c (x_term_init): Fix:

"xterm.c", line 30759: warning: improper pointer/integer
combination: op "="

20 months agoComp: Fix limplification pass (bug#62537)
Andrea Corallo [Wed, 5 Apr 2023 16:17:58 +0000 (18:17 +0200)]
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.

20 months ago; * etc/NEWS: Minor copyedits of entry for 'keymap-*' functions.
Eli Zaretskii [Wed, 5 Apr 2023 13:50:58 +0000 (16:50 +0300)]
; * etc/NEWS: Minor copyedits of entry for 'keymap-*' functions.

20 months agoCC Mode: Fix fontification problems shown by test file templates-20.cc
Alan Mackenzie [Wed, 5 Apr 2023 13:02:12 +0000 (13:02 +0000)]
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.

20 months ago; Improve documentation of 'declare-function'
Eli Zaretskii [Wed, 5 Apr 2023 09:31:01 +0000 (12:31 +0300)]
; 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.

20 months ago; Avoid compiler warning in eglot.el.
Eli Zaretskii [Wed, 5 Apr 2023 09:23:54 +0000 (12:23 +0300)]
; Avoid compiler warning in eglot.el.

20 months ago; Fix description of new 'keymap-*' functions
Eli Zaretskii [Wed, 5 Apr 2023 08:31:15 +0000 (11:31 +0300)]
; 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.

20 months agoImprove sigil fontification for elixir-ts-mode
Wilhelm H Kirschbaum [Sun, 2 Apr 2023 09:28:27 +0000 (11:28 +0200)]
Improve sigil fontification for elixir-ts-mode

* lisp/progmodes/elixir-ts-mode.el:
(elixir-ts--font-lock-settings): Update sigil queries.

20 months agoImprove list indentation for elixir-ts-mode
Wilhelm H Kirschbaum [Sun, 2 Apr 2023 09:26:02 +0000 (11:26 +0200)]
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.

20 months agoruby-ts-mode: Add more constructs to treesit-sexp-type-regexp
Dmitry Gutov [Wed, 5 Apr 2023 00:00:57 +0000 (03:00 +0300)]
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).

20 months agoAdapt EMBA scripts.
Michael Albinus [Tue, 4 Apr 2023 18:01:19 +0000 (20:01 +0200)]
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.

20 months agoImprove Tramp robustness
Michael Albinus [Tue, 4 Apr 2023 11:37:18 +0000 (13:37 +0200)]
Improve Tramp robustness

* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Check for `tramp-string-empty-or-nil-p'.

20 months agoAnother terminology fix in ELisp reference manual
Eli Zaretskii [Tue, 4 Apr 2023 11:22:56 +0000 (14:22 +0300)]
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.

20 months agoCorrect terminology in Elisp Reference Manual
Shynur [Tue, 4 Apr 2023 07:07:37 +0000 (15:07 +0800)]
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

20 months agoComment out GNUSTEP jobs on EMBA (again)
Michael Albinus [Tue, 4 Apr 2023 11:00:51 +0000 (13:00 +0200)]
Comment out GNUSTEP jobs on EMBA (again)

* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep):
Comment out jobs due to bug#62210.

20 months agoDisplay unlock-file warning only when file locks are enabled
Michael Albinus [Tue, 4 Apr 2023 07:43:09 +0000 (09:43 +0200)]
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.

20 months agoruby-ts-mode: Recognize more nodes as sexps
Juri Linkov [Tue, 4 Apr 2023 06:42:10 +0000 (09:42 +0300)]
ruby-ts-mode: Recognize more nodes as sexps

* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Add "unless" to 'treesit-sexp-type-regexp'.

20 months agoruby-ts-mode: Recognize more nodes as sexps
Dmitry Gutov [Mon, 3 Apr 2023 20:39:41 +0000 (23:39 +0300)]
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).

20 months ago; * lisp/image.el (put-image): Doc fix.
Eli Zaretskii [Mon, 3 Apr 2023 16:32:46 +0000 (19:32 +0300)]
; * lisp/image.el (put-image): Doc fix.

20 months ago; Fix last change
Michael Albinus [Mon, 3 Apr 2023 14:00:11 +0000 (16:00 +0200)]
; Fix last change

20 months ago; * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Just setq
Andrew G Cohen [Mon, 3 Apr 2023 13:49:55 +0000 (21:49 +0800)]
; * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Just setq

20 months ago; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
Robert Pluim [Mon, 3 Apr 2023 12:42:54 +0000 (14:42 +0200)]
; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.

20 months agoFix some `unwind-protect' forms
Michael Albinus [Mon, 3 Apr 2023 11:18:55 +0000 (13:18 +0200)]
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.

20 months agoFix regexp string escaping mistake in vhdl-mode.el (bug#62508)
Mattias Engdegård [Mon, 3 Apr 2023 10:57:54 +0000 (12:57 +0200)]
Fix regexp string escaping mistake in vhdl-mode.el (bug#62508)

* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Quote brackets
correctly.

20 months agoImprove portability of newly added icons
Po Lu [Mon, 3 Apr 2023 08:15:54 +0000 (16:15 +0800)]
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.

20 months agoModify chevron icons and add some more
Yuan Fu [Sat, 1 Apr 2023 23:22:50 +0000 (16:22 -0700)]
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.

20 months agoUpdate to Org 9.6.3-2-gf2949d
Kyle Meyer [Mon, 3 Apr 2023 03:03:32 +0000 (23:03 -0400)]
Update to Org 9.6.3-2-gf2949d

20 months agoEglot: Bump to 1.14
João Távora [Mon, 3 Apr 2023 00:40:30 +0000 (01:40 +0100)]
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.

20 months agoMerge from origin/emacs-29
João Távora [Sun, 2 Apr 2023 23:33:03 +0000 (00:33 +0100)]
Merge from origin/emacs-29

3bdbb66efb9 ; CONTRIBUTE: Minor stylistic changes.
d0eb12e8d3c Fix typo in section 14.1 of Emacs Manual
b2fbec37f39 ; * etc/EGLOT-NEWS: Clarify scope of topmost section
131ec049db0 Eglot: unbreak eglot-extend-to-xref on w32
0622e1f29f6 Eglot: ensure server shutdown turns off eglot-inlay-hints...
59f66ea3027 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ...
d23dc3dd7e3 ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua...
4508a024e81 ; Clarify documentation of 'cursor' text property
d2e82817a3f Add two typescript-ts-mode faces (bug#62429)
10918fc9d24 Fix scrolling window when point moves up
9b32bc134c4 Improve documentation of 'defcustom's :set keyword
ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b...
c98929c7e18 ; Fix last change
a14c3f62a67 ; Fix last change
09fece5722f Fix duplicate defcustom in eww.el
e45bd10a3d9 Fix indentation regression in 'C-h l'
46fd10a7600 * doc/misc/tramp.texi (Remote shell setup): Clarify use o...

20 months ago; * etc/EGLOT-NEWS (Upcoming 1.14): Update.
João Távora [Sun, 2 Apr 2023 23:00:18 +0000 (00:00 +0100)]
; * etc/EGLOT-NEWS (Upcoming 1.14): Update.

20 months agoEldoc: bump package version to 1.14.0
João Távora [Sun, 2 Apr 2023 22:40:31 +0000 (23:40 +0100)]
Eldoc: bump package version to 1.14.0

* lisp/emacs-lisp/eldoc.el (Version): Bump to 1.14.0

20 months ago; Eldoc: fix doc of e-d-functions w.r.t. :origin keyword
João Távora [Sun, 2 Apr 2023 22:38:37 +0000 (23:38 +0100)]
; Eldoc: fix doc of e-d-functions w.r.t. :origin keyword

* lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Fix.

20 months ago; Eglot: removed unused dependency on 'array.el'
João Távora [Sun, 2 Apr 2023 22:33:23 +0000 (23:33 +0100)]
; Eglot: removed unused dependency on 'array.el'

* lisp/progmodes/eglot.el (array): Don't require

20 months agoEglot: load built-in GNU ELPA dependencies explicitly
João Távora [Sun, 2 Apr 2023 22:31:10 +0000 (23:31 +0100)]
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.

20 months agoEglot: improve caching in eglot-completion-at-point
João Távora [Wed, 29 Mar 2023 18:30:04 +0000 (19:30 +0100)]
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.

20 months agoEglot: take advantage of new Eldoc options for signature doc
João Távora [Sat, 25 Mar 2023 19:53:14 +0000 (19:53 +0000)]
Eglot: take advantage of new Eldoc options for signature doc

Only echo the "active signature", send all the other signatures for
the *eldoc* buffer.

* lisp/progmodes/eglot.el (eglot--sig-info): Rework protocol.
(eglot-signature-eldoc-function): Rework.

20 months agoEglot: declare support for markdown also for signatures
João Távora [Fri, 24 Mar 2023 22:17:44 +0000 (22:17 +0000)]
Eglot: declare support for markdown also for signatures

* lisp/progmodes/eglot.el
(eglot--accepted-formats): new helper.
(eglot-client-capabilities): use it.

20 months agoEglot: define eglot--ensure-list with defalias
João Távora [Fri, 24 Mar 2023 22:16:49 +0000 (22:16 +0000)]
Eglot: define eglot--ensure-list with defalias

This avoids annoying obsoletion warnings when compiling the whole buffer.

* lisp/progmodes/eglot.el (eglot--ensure-list): define with defalias.

20 months agoEglot: remove hacky advice of jsonrpc-request
João Távora [Wed, 29 Mar 2023 21:48:54 +0000 (22:48 +0100)]
Eglot: remove hacky advice of jsonrpc-request

The vast majority of Eglot sync requests to the server need to inform
the server of any pending changes to the buffer beforehand, so that
the server has up-to-date information to do its job.

But doing so at the expense of ugly advice of jsonrpc-request is ill
advised.  Introduce eglot--request helper instead and use that.

Use this opportunity to conduct a review of Eglot sync requests and
come to the conclusion that all need to send any changes beforehand.
Nevertheless, an IMMEDIATE kwarg to eglot--request was added to
bypassing this.

* lisp/progmodes/eglot.el
(eglot--request): New helper.
(eglot-shutdown)
(eglot-execute-command)
(eglot-workspace-configuration)
(eglot--signal-textDocument/willSave)
(eglot--workspace-symbols)
(eglot--lsp-xrefs-for-method)
(xref-backend-apropos)
(eglot-format)
(eglot-completion-at-point)
(eglot-imenu)
(eglot-rename)
(eglot-code-actions): Use eglot--request.

20 months ago; Add a bit more docstring to tsx-ts-mode (bug#62429)
Yuan Fu [Sun, 2 Apr 2023 22:09:41 +0000 (15:09 -0700)]
; Add a bit more docstring to tsx-ts-mode (bug#62429)

* lisp/progmodes/typescript-ts-mode.el:
(tsx-ts-mode): Explain a bit more.

20 months agoUse the 'interactive' spec to set arguments for 'eshell-command'
Jim Porter [Fri, 31 Mar 2023 02:38:30 +0000 (19:38 -0700)]
Use the 'interactive' spec to set arguments for 'eshell-command'

* lisp/eshell/eshell.el (eshell-read-command): New function...
(eshell-command): ... use it.  Additionally, require the COMMAND
argument, and rename ARG to TO-CURRENT-BUFFER.

20 months agoFix using background commands in 'eshell-command'
Jim Porter [Fri, 31 Mar 2023 02:31:30 +0000 (19:31 -0700)]
Fix using background commands in 'eshell-command'

This regressed due to the patch for bug#53715, which changed how
Eshell pipelines return the processes in the pipeline (bug#62556).

* lisp/eshell/esh-cmd.el (eshell-parse-command): When creating
background commands, wrap the process(es) in a cons cell whose CAR is
':eshell-background'.  This lets us use fewer heuristics...
(eshell-eval-command): ... here.  Additionally, keep the result and
the incomplete delimiter separate.

* lisp/eshell/eshell.el (eshell-command): Check ':eshell-background'
and use a more-robust method for setting the output target.

* test/lisp/eshell/eshell-tests.el (eshell-test/eshell-command/simple)
(eshell-test/eshell-command/pipeline)
(eshell-test/eshell-command/background)
(eshell-test/eshell-command/background-pipeline): New tests.

20 months agoEglot: don't watch directories that don't exist
João Távora [Sun, 2 Apr 2023 22:01:29 +0000 (23:01 +0100)]
Eglot: don't watch directories that don't exist

project-files isn't guaranteed to return existing files, so better
check if they exist because placing a watcher on them.

Originally reported at:
https://github.com/joaotavora/eglot/issues/1198

* lisp/progmodes/eglot.el (eglot-register-capability
workspace/didChangeWatchedFiles): Check if directories exist.

20 months agolisp/simple.el (inhibit-auto-fill): New var
Stefan Monnier [Sun, 2 Apr 2023 21:54:02 +0000 (17:54 -0400)]
lisp/simple.el (inhibit-auto-fill): New var

* lisp/simple.el (inhibit-auto-fill): New var.
(internal-auto-fill): Obey it.
(newline): Use it instead of binding `auto-fill-function`, so
as to avoid messing up the state if something wants to enable/disable
`auto-fill-mode` during the course of the let binding (bug#62419).

20 months agosrc/eval.c: Fix bug#62419
Stefan Monnier [Sun, 2 Apr 2023 21:45:58 +0000 (17:45 -0400)]
src/eval.c: Fix bug#62419

Yup, almost 40 years after ELisp first combined them, buffer-local
and let bindings still don't work quite right :-(

The "automatically buffer-local if set" semantics should follow the
principle that it becomes buffer-local iff the var's current binding
refers to the top-level/global/non-let binding.

* src/eval.c (let_shadows_buffer_binding_p): Disregard non-global
let-bindings.

* test/src/eval-tests.el (eval-test--bug62419): New test.

20 months ago; Add tests for synchronous processes in Eshell
Jim Porter [Sat, 1 Apr 2023 04:32:44 +0000 (21:32 -0700)]
; Add tests for synchronous processes in Eshell

Normally, Eshell only uses synchronous processes on MS-DOS, so this is
hard to test.  To get around this, let the tests explicitly request
synchronous processes.

* lisp/eshell/esh-proc.el (eshell-supports-asynchronous-processes):
New variable...
(eshell-gather-process-output): ... use it, and remove some incorrect
code updating Eshell's internal markers (the async code path doesn't
do this, so neither should the sync path).

* lisp/eshell/esh-cmd.el (eshell-execute-pipeline): Use
'eshell-supports-asynchronous-processes'.

* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/emacs-command): New function.
(esh-proc-test/emacs-echo, esh-proc-test/emacs-upcase): New variables.
(esh-proc-test/synchronous-proc/simple/interactive)
(esh-proc-test/synchronous-proc/simple/command-result)
(esh-proc-test/synchronous-proc/pipeline/interactive)
(esh-proc-test/synchronous-proc/pipeline/command-result): New tests.

20 months ago; * lisp/subr.el (use-dialog-box-p): Fix last change.
Eli Zaretskii [Sun, 2 Apr 2023 08:42:43 +0000 (11:42 +0300)]
; * lisp/subr.el (use-dialog-box-p): Fix last change.

20 months agoPreserve peer information for web page in eww-readable
Eshel Yaron [Fri, 31 Mar 2023 14:54:12 +0000 (17:54 +0300)]
Preserve peer information for web page in eww-readable

The :peer property in eww-data affects the face of the page title
in 'header-line-format' as set by 'eww-update-header-line-format'.
Preserving this property in eww-readable avoids having the header
line's appearance change when this command is called.
* lisp/net/eww.el (eww-readable): Preserve eww-data's :peer
property.  (Bug#62574)

20 months ago* lisp/subr.el (use-dialog-box-p): Fix conditions for GUI dialogs.
Eli Zaretskii [Sun, 2 Apr 2023 07:34:43 +0000 (10:34 +0300)]
* lisp/subr.el (use-dialog-box-p): Fix conditions for GUI dialogs.

20 months ago; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some notice.
Yuan Fu [Sun, 2 Apr 2023 06:14:15 +0000 (23:14 -0700)]
; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some notice.

20 months agoAvoid shadowing variables in some Eshell command forms
Jim Porter [Sun, 19 Mar 2023 02:18:28 +0000 (19:18 -0700)]
Avoid shadowing variables in some Eshell command forms

* lisp/eshell/esh-cmd.el (eshell-rewrite-for-command): Make
'for-items' an uninterned symbol.
(eshell-as-subcommand): Correct docstring.
(eshell-do-command-to-value): Mark obsolete.
(eshell-command-to-value): Move binding of 'value' outside of the
macro's result, and remove call to 'eshell-do-command-to-value'.

* test/lisp/eshell/esh-cmd-tests.el
(esh-cmd-test/subcommand-shadow-value)
(esh-cmd-test/for-loop-for-items-shadow): New tests.
(esh-cmd-test/for-name-loop, esh-cmd-test/for-name-shadow-loop):
Rename to...
(esh-cmd-test/for-loop-name, esh-cmd-test/for-loop-name-shadow):
... these.

20 months agoAdd some icons (bug#62562)
Yuan Fu [Fri, 31 Mar 2023 04:58:05 +0000 (21:58 -0700)]
Add some icons (bug#62562)

* etc/images/symbols/README: New file.
* etc/images/symbols/*.svg: New icons.

20 months ago; Make sure 'eshell-command' tests don't prompt the user
Jim Porter [Sat, 1 Apr 2023 17:28:02 +0000 (10:28 -0700)]
; Make sure 'eshell-command' tests don't prompt the user

* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/background)
(eshell-test/eshell-command/background-pipeline): Wait for the process
to finish.

20 months ago; * etc/NEWS: Fix typos.
Michael Albinus [Sat, 1 Apr 2023 15:04:50 +0000 (17:04 +0200)]
; * etc/NEWS: Fix typos.

20 months agoFix ModelSim error regexp in vhdl-mode
Eli Zaretskii [Sat, 1 Apr 2023 10:07:42 +0000 (13:07 +0300)]
Fix ModelSim error regexp in vhdl-mode

* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Fix ModelSim
error regexp.  Suggested by Reto Zimmermann <reto@gnu.org>.
(Bug#62508)

20 months ago; * doc/emacs/trouble.texi (Checklist): Minor copyedits (bug#62320).
Eli Zaretskii [Sat, 1 Apr 2023 10:00:36 +0000 (13:00 +0300)]
; * doc/emacs/trouble.texi (Checklist): Minor copyedits (bug#62320).

20 months agoDocument enhancements in handling of echo-area messages
Eli Zaretskii [Sat, 1 Apr 2023 09:49:18 +0000 (12:49 +0300)]
Document enhancements in handling of echo-area messages

* etc/NEWS:
* doc/lispref/display.texi (Displaying Messages):
* lisp/minibuffer.el (inhibit-message-regexps)
(set-message-functions, inhibit-message, set-multi-message):
Improve the documentation of functions dealing with display of
echo-area messages.

20 months ago; * src/fns.c: Use if instead of #ifdef
Mattias Engdegård [Sat, 1 Apr 2023 08:53:50 +0000 (10:53 +0200)]
; * src/fns.c: Use if instead of #ifdef

* src/fns.c (HAVE_FAST_UNALIGNED_ACCESS, load_unaligned_size_t):
Always define these.
(Fstring_lessp): Use if instead of #ifdef.

20 months ago; Fix last change
Eli Zaretskii [Sat, 1 Apr 2023 06:55:29 +0000 (09:55 +0300)]
; Fix last change

* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/background-pipeline): Fix last change.

20 months ago; * src/fns.c (HAVE_FAST_UNALIGNED_ACCESS): Check in missing edit.
Po Lu [Sat, 1 Apr 2023 06:25:47 +0000 (14:25 +0800)]
; * src/fns.c (HAVE_FAST_UNALIGNED_ACCESS): Check in missing edit.

20 months agoFix new Eshell tests on MS-Windows
Eli Zaretskii [Sat, 1 Apr 2023 06:24:38 +0000 (09:24 +0300)]
Fix new Eshell tests on MS-Windows

* test/lisp/eshell/eshell-tests.el (eshell-test/eshell-command/background)
(eshell-test/eshell-command/background-pipeline): Allow for ".exe"
in the program's name.  This fixes these tests on MS-Windows.

20 months ago; * src/fns.c (Fstring_lessp): Fix coding style.
Po Lu [Sat, 1 Apr 2023 06:24:22 +0000 (14:24 +0800)]
; * src/fns.c (Fstring_lessp): Fix coding style.

20 months ago; * src/fns.c (Fstring_lessp): Port to RISCs.
Po Lu [Sat, 1 Apr 2023 06:23:32 +0000 (14:23 +0800)]
; * src/fns.c (Fstring_lessp): Port to RISCs.

20 months agoUpdate publicsuffix.txt from upstream
Stefan Kangas [Sat, 1 Apr 2023 04:00:47 +0000 (06:00 +0200)]
Update publicsuffix.txt from upstream

* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2023-03-18 16:17:52 UTC.

20 months ago; Auto-commit of loaddefs files.
Stefan Kangas [Sat, 1 Apr 2023 03:10:48 +0000 (05:10 +0200)]
; Auto-commit of loaddefs files.

20 months ago; Auto-commit of loaddefs files.
Stefan Kangas [Sat, 1 Apr 2023 03:10:47 +0000 (05:10 +0200)]
; Auto-commit of loaddefs files.

20 months agoAllow null date in gnus-icalendar-event--decode-datefield
Andrew G Cohen [Thu, 16 Mar 2023 10:43:35 +0000 (18:43 +0800)]
Allow null date in gnus-icalendar-event--decode-datefield

* lisp/gnus/gnus-icalendar.el:
(gnus-icalendar-event--decode-datefield): Don't throw an error if the
event date is missing.

20 months agoReset 'gnus-current-window-configuration' on edit-form exit.
Andrew G Cohen [Thu, 9 Mar 2023 08:05:31 +0000 (16:05 +0800)]
Reset 'gnus-current-window-configuration' on edit-form exit.

* lisp/gnus/gnus.el: New variable gnus-prev-cwc.
* lisp/gnus/gnus-art.el (gnus-article-edit-mode):
New local variable gnus-prev-cwc.
(gnus-article-edit-article):  Store original
gnus-current-window-configuration as gnus-prev-cwc.
(gnus-article-edit-done, gnus-article-edit-exit): Restore
gnus-current-window-configuration from gnus-prev-cwc.
* lisp/gnus/gnus-eform.el (gnus-edit-form-mode):
New local variable gnus-prev-cwc.
(gnus-edit-form):  Store original
gnus-current-window-configuration as gnus-prev-cwc.
(gnus-edit-form-done, gnus-edit-form-exit): Restore
gnus-current-window-configuration from gnus-prev-cwc.

20 months agoUse completion when mark limiting in gnus summary buffers
Andrew G Cohen [Sun, 13 Mar 2022 23:59:25 +0000 (07:59 +0800)]
Use completion when mark limiting in gnus summary buffers

* lisp/gnus/gnus-sum.el (gnus-summary-limit-to-marks)
(gnus-summary-limit-exclude-marks): Use completing-read to complete on
marks in the current summary buffer.

20 months agoTrack article while moving between gnus groups
Andrew G Cohen [Sun, 13 Mar 2022 23:47:39 +0000 (07:47 +0800)]
Track article while moving between gnus groups

* lisp/gnus/gnus-sum.el (gnus-current-move-article): New variable to
track article while moving.
(gnus-summary-move-article): Set gnus-current-move-article when
moving/copying/crossposting or respooling.

20 months agoFix using background commands in 'eshell-command'
Jim Porter [Fri, 31 Mar 2023 00:39:24 +0000 (17:39 -0700)]
Fix using background commands in 'eshell-command'

Do not merge to master.

This regressed due to the patch for bug#53715, which changed how
Eshell pipelines return the processes in the pipeline (bug#62556).

* lisp/eshell/esh-cmd.el (eshell-eval-command): Allow process-pairs.

* test/lisp/eshell/eshell-tests.el (eshell-test/eshell-command/simple)
(eshell-test/eshell-command/pipeline)
(eshell-test/eshell-command/background)
(eshell-test/eshell-command/background-pipeline): New tests.

20 months agoMake string-lessp vectorisation safer
Mattias Engdegård [Fri, 31 Mar 2023 18:13:18 +0000 (20:13 +0200)]
Make string-lessp vectorisation safer

Use memcpy for loading unaligned words on platforms where this can be
done efficiently.  This guards against problems arising from future
compiler autovectorisation improvements that might cause instructions
that require aligned addresses to be emitted, and should also work
with an address sanitiser enabled.

* src/fns.c (HAVE_FAST_UNALIGNED_ACCESS): Only define when optimising.
(load_unaligned_size_t): New.
(Fstring_lessp): Use load_unaligned_size_t.
* src/lisp.h (UNALIGNED_LOAD_SIZE): Remove now unused macro.

20 months ago; CONTRIBUTE: Minor stylistic changes.
Eli Zaretskii [Fri, 31 Mar 2023 13:18:09 +0000 (16:18 +0300)]
; CONTRIBUTE: Minor stylistic changes.

20 months agoAllow old input to include continuation lines in shell-mode
Bob Rogers [Fri, 31 Mar 2023 07:57:32 +0000 (09:57 +0200)]
Allow old input to include continuation lines in shell-mode

* lisp/shell.el (shell-get-old-input-include-continuation-lines): New
defcustom (default nil).
(shell-get-old-input): New function.  Like
'comint-get-old-input-default' but include all continuation lines if
'shell-get-old-input-include-continuation-lines' is non-nil.
(shell-mode): Install shell-get-old-input.  (Bug#61069)

* etc/NEWS: Advertise the new defcustom.

20 months agoFix typo in section 14.1 of Emacs Manual
Shynur [Fri, 31 Mar 2023 11:49:39 +0000 (19:49 +0800)]
Fix typo in section 14.1 of Emacs Manual

* doc/emacs/display.texi (Scrolling): Fix typo.  (Bug#62569)

Copyright-paperwork-exempt: yes

20 months ago* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Michael Albinus [Fri, 31 Mar 2023 12:17:54 +0000 (14:17 +0200)]
* test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.

20 months ago* lisp/net/tramp.el (tramp-accept-process-output): Use `with-local-quit'.
Michael Albinus [Fri, 31 Mar 2023 07:45:23 +0000 (09:45 +0200)]
* lisp/net/tramp.el (tramp-accept-process-output): Use `with-local-quit'.

20 months agoAdd treesit-node-get
Yuan Fu [Fri, 24 Mar 2023 20:13:05 +0000 (13:13 -0700)]
Add treesit-node-get

* doc/lispref/parsing.texi (Retrieving Nodes): Add manual entry.
* lisp/treesit.el (treesit-node--get): New function.

20 months ago; * etc/EGLOT-NEWS: Clarify scope of topmost section
João Távora [Thu, 30 Mar 2023 22:55:57 +0000 (23:55 +0100)]
; * etc/EGLOT-NEWS: Clarify scope of topmost section

20 months agoEglot: unbreak eglot-extend-to-xref on w32
João Távora [Thu, 30 Mar 2023 22:52:27 +0000 (23:52 +0100)]
Eglot: unbreak eglot-extend-to-xref on w32

Because of a drive-letter casing mismatch between 'buffer-file-name'
and the return value of 'url-generic-parse-url', the hash-table test
'equal' in 'eglot-current-server' failed.

This failed to recognize that the file xref landed us on really is
managed by the language server that facilitated that jump.

The function w32-long-file-name seems to convert "C:/Users/" to
"c:/Users" consistently and so is a good addition to
eglot--uri-to-path.

* lisp/progmodes/eglot.el (eglot--uri-to-path): Use
w32-long-file-name.