]> git.eshelyaron.com Git - emacs.git/log
emacs.git
21 months agoDocument selections on Android more thoroughly
Po Lu [Sat, 8 Apr 2023 01:35:19 +0000 (09:35 +0800)]
Document selections on Android more thoroughly

* doc/lispref/elisp.texi (Top):
* doc/lispref/frames.texi (Frames): Add ``Accessing Selections''
to menu.
(Accessing Selections, X Selections, Other Selections): New
nodes.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Fri, 7 Apr 2023 00:25:54 +0000 (08:25 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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.

21 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

21 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

21 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

21 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'

21 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.

21 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.

21 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)

21 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)

21 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)

21 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)

21 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.

21 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.

21 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 "="

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Thu, 6 Apr 2023 01:56:34 +0000 (09:56 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 months agoImplement `yank-media' on Android
Po Lu [Thu, 6 Apr 2023 01:56:23 +0000 (09:56 +0800)]
Implement `yank-media' on Android

* doc/emacs/android.texi (Android Windowing): Update selection
restrictions.
* java/org/gnu/emacs/EmacsClipboard.java (EmacsClipboard): New
functions `getClipboardTargets' and `getClipboardData'.
* java/org/gnu/emacs/EmacsSdk11Clipboard.java
(EmacsSdk11Clipboard, getClipboardTargets, getClipboardData):
Implement.
* java/org/gnu/emacs/EmacsSdk8Clipboard.java: Stub out new
functions.

* lisp/term/android-win.el (android-get-clipboard-1): Implement
MIME type targets.
* src/android.c (android_exception_check)
(android_exception_check_1, android_exception_check_2): Fix
punctuation in warning message.
(android_exception_check_nonnull_1): New function.
* src/android.h: Update prototypes.
* src/androidselect.c (struct android_emacs_clipboard): New
methods.
(android_init_emacs_clipboard): Initialize new methods.
(Fandroid_get_clipboard_targets, android_xfree_inside)
(Fandroid_get_clipboard_data): New functions.
(syms_of_androidselect): Define new subrs.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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).

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Tue, 4 Apr 2023 23:58:05 +0000 (07:58 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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.

21 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'.

21 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.

21 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

21 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.

21 months ago; * lisp/subr.el (read-char-from-minibuffer): Fix typo.
Po Lu [Tue, 4 Apr 2023 10:35:11 +0000 (18:35 +0800)]
; * lisp/subr.el (read-char-from-minibuffer): Fix typo.

21 months agoUpdate Android port
Po Lu [Tue, 4 Apr 2023 10:34:44 +0000 (18:34 +0800)]
Update Android port

* lisp/subr.el (read-char-from-minibuffer): Don't use undefined
variable.  Reported by Robert Pluim.

21 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.

21 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'.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 3 Apr 2023 23:49:48 +0000 (07:49 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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).

21 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.

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

21 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

21 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.

21 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.

21 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.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 3 Apr 2023 10:39:10 +0000 (18:39 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 months ago; ; * src/androidselect.c (Fandroid_clipboard_exists_p): Add check.
Po Lu [Mon, 3 Apr 2023 10:24:02 +0000 (18:24 +0800)]
; ; * src/androidselect.c (Fandroid_clipboard_exists_p): Add check.

21 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.

21 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.

21 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

21 months agoUpdate Android port
Po Lu [Mon, 3 Apr 2023 02:23:33 +0000 (10:23 +0800)]
Update Android port

* src/sfnt.c (sfnt_normalize_vector): Don't rely on undefined
sign extension semantics.

21 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.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Mon, 3 Apr 2023 00:12:03 +0000 (08:12 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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...

21 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.

21 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

21 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.

21 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

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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).

21 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.

21 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.

21 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.

21 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)

21 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.

21 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.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sun, 2 Apr 2023 01:11:00 +0000 (09:11 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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.

21 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.

21 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.

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

21 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)

21 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).

21 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.

21 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.

21 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.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 1 Apr 2023 06:26:45 +0000 (14:26 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 1 Apr 2023 06:25:00 +0000 (14:25 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 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.

21 months agoMerge remote-tracking branch 'origin/master' into feature/android
Po Lu [Sat, 1 Apr 2023 00:57:39 +0000 (08:57 +0800)]
Merge remote-tracking branch 'origin/master' into feature/android

21 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.