]> git.eshelyaron.com Git - emacs.git/log
emacs.git
15 months agoEglot: add new chapter about Elisp extensions to Eglot manual
João Távora [Mon, 4 Sep 2023 00:39:05 +0000 (01:39 +0100)]
Eglot: add new chapter about Elisp extensions to Eglot manual

bug#65418

Co-authored-by: Filippo Argiolas <filippo.argiolas@gmail.com>
* doc/misc/eglot.texi (Extending Eglot): New chapter.

15 months agoEglot: reorganize Elisp API section, export new functions
João Távora [Sun, 3 Sep 2023 23:15:55 +0000 (00:15 +0100)]
Eglot: reorganize Elisp API section, export new functions

bug#65418

Co-authored-by: Filippo Argiolas <filippo.argiolas@gmail.com>
* lisp/progmodes/eglot.el (Obsolete aliases): New section, move
all obsolete aliases here.
(eglot-uri-to-path)
(eglot-path-to-uri)
(eglot-range-region)
(eglot-server-capable)
(eglot-server-capable-or-lose): New functions and backward compability
aliases.

15 months ago; Fix previous commit touching lisp/international/emoji.el
Jonas Bernoulli [Sun, 3 Sep 2023 16:06:52 +0000 (18:06 +0200)]
; Fix previous commit touching lisp/international/emoji.el

15 months agoMake emoji commands compatible with repeat and repeat-complex-command
Jonas Bernoulli [Sun, 3 Sep 2023 15:50:16 +0000 (17:50 +0200)]
Make emoji commands compatible with repeat and repeat-complex-command

* lisp/international/emoji.el (emoji-search): Read user input
inside 'interactive'.
* (emoji-insert-glyph): Determine glyph inside 'interactive',
using 'emoji--recent' when not invoked from one of its transient
prefixes but using 'recent' or 'recent-complex-command'.

15 months agoFix Edebug specification for 'cl-define-compiler-macro'.
Philipp Stephani [Sun, 3 Sep 2023 14:55:12 +0000 (16:55 +0200)]
Fix Edebug specification for 'cl-define-compiler-macro'.

* lisp/emacs-lisp/cl-macs.el (cl-define-compiler-macro): Give the
instrumented name a suffix to make it unique.  Otherwise it will clash
with the name of the main function.

15 months agocheckdoc: Don't warn for () in cl-defmacro args
Stefan Kangas [Sun, 3 Sep 2023 13:02:05 +0000 (15:02 +0200)]
checkdoc: Don't warn for () in cl-defmacro args

Seen with, for example:

    (cl-defmacro foo (bar () &body baz) ...)

* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Improve support for `cl-defmacro' by ignoring "nil" in parameter list.

15 months agoNew documentation for static-if.
Alan Mackenzie [Sun, 3 Sep 2023 13:08:36 +0000 (13:08 +0000)]
New documentation for static-if.

* doc/lispref/control.texi (Conditional Compilation): New
section documenting static-if.

15 months agoNew conditional compilation macro static-if.
Alan Mackenzie [Sun, 3 Sep 2023 12:54:47 +0000 (12:54 +0000)]
New conditional compilation macro static-if.

* etc/NEWS: Record the new macro.

* lisp/subr.el (static-if): New macro.

15 months agoUpdate Android port
Po Lu [Sun, 3 Sep 2023 12:13:29 +0000 (20:13 +0800)]
Update Android port

* java/org/gnu/emacs/EmacsService.java (browseUrl): Confer
rights to write the URI indefinitely.

15 months agoFix defcustoms in filesets.el (Bug#65708)
Mauro Aranda [Sat, 2 Sep 2023 23:16:30 +0000 (20:16 -0300)]
Fix defcustoms in filesets.el (Bug#65708)

* lisp/filesets.el (filesets-browse-dir-function)
(filesets-open-file-function filesets-save-buffer-function)
(filesets-commands filesets-external-viewers): Don't override default
value for the function widget with an invalid default value.
Remove redundant ":" in tag.
Fix default values for choice and list widgets.

15 months agoFix indentation in `syntax-ppss'
Jim Blandy [Sun, 3 Sep 2023 10:42:35 +0000 (12:42 +0200)]
Fix indentation in `syntax-ppss'

* lisp/emacs-lisp/syntax.el: Fix indentation in
`syntax-ppss'.  (Bug#58665)

15 months ago* lisp/vc/vc-git.el (vc-git-annotate-switches): Add useful tip.
Stefan Kangas [Sun, 3 Sep 2023 10:04:20 +0000 (12:04 +0200)]
* lisp/vc/vc-git.el (vc-git-annotate-switches): Add useful tip.

15 months agoReplace completion--some with seq-some
Stefan Kangas [Sun, 3 Sep 2023 09:04:35 +0000 (11:04 +0200)]
Replace completion--some with seq-some

This is safe, as 'seq' is preloaded before 'minibuffer'.
* lisp/loadup.el ("minibuffer"): Document 'seq' dependency.
* lisp/minibuffer.el (completion--some): Remove.  Replace all uses
with 'seq-some'.

15 months ago; Silence warnings about obsolete functions
Mattias Engdegård [Sun, 3 Sep 2023 09:40:20 +0000 (11:40 +0200)]
; Silence warnings about obsolete functions

* lisp/obsolete/url-ns.el (dnsResolve, isResolvable): Suppress.
* lisp/progmodes/ebnf2ps.el (ebnf-eps-finish-and-write):
Use delete-dups instead of ps-remove-duplicates.

15 months agoMove `wholenump` alias definition
Mattias Engdegård [Sun, 3 Sep 2023 09:22:06 +0000 (11:22 +0200)]
Move `wholenump` alias definition

* src/data.c (syms_of_data): From here...
* lisp/subr.el (wholenump): ...to here, with the other aliases.

15 months agoPrefer reusing seq-remove in reftex
Stefan Kangas [Sun, 3 Sep 2023 07:59:16 +0000 (09:59 +0200)]
Prefer reusing seq-remove in reftex

* lisp/textmodes/reftex.el (reftex-remove-symbols-from-list): Make
obsolete in favor of 'seq-remove'.  Update single caller.

15 months agoDon't native compile lock files
Joseph Turner [Sat, 2 Sep 2023 17:14:22 +0000 (10:14 -0700)]
Don't native compile lock files

* lisp/emacs-lisp/package.el (package--delete-directory):
Exclude lock files in regex.  (Bug#65666)

15 months agoLog org export errors to package-vc doc buffer
Joseph Turner [Fri, 1 Sep 2023 23:22:45 +0000 (16:22 -0700)]
Log org export errors to package-vc doc buffer

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Wrap the org-export logic in condition-case, allowing package
installation to continue while preserving error messages.  (Bug#65649)

15 months agoInclude package name in package-vc documentation log buffer name
Joseph Turner [Thu, 31 Aug 2023 06:24:16 +0000 (23:24 -0700)]
Include package name in package-vc documentation log buffer name

* lisp/emacs-lisp/package-vc.el (package-vc--build-documentation):
Modify buffer name generation.  (Bug#65649)

15 months ago; * lisp/term/android-win.el: Correct header.
Po Lu [Sun, 3 Sep 2023 05:00:16 +0000 (13:00 +0800)]
; * lisp/term/android-win.el: Correct header.

15 months agoMove Android port internals documentation to admin/notes
Po Lu [Sun, 3 Sep 2023 02:04:44 +0000 (10:04 +0800)]
Move Android port internals documentation to admin/notes

* admin/notes/java: New file.  Move most of its contents from
README, and introduce a section on compatibility.

* java/README: Move internals to admin/notes/java.

15 months ago; Reintroduce menus beneath chapters in the Transient manual
Po Lu [Sun, 3 Sep 2023 01:12:32 +0000 (09:12 +0800)]
; Reintroduce menus beneath chapters in the Transient manual

* doc/misc/transient.texi (Introduction)
(Modifying Existing Transients, Predicate Slots): Return the
menus to their proper location, so Texinfo 4.13 can infer up
pointers for nodes within.  The previous merge from emacs-29
overwrote this change.

15 months agoReplace ps-remove-duplicates with seq-uniq
Stefan Kangas [Sun, 3 Sep 2023 00:55:01 +0000 (02:55 +0200)]
Replace ps-remove-duplicates with seq-uniq

* lisp/ps-print.el (ps-remove-duplicates): Make obsolete in favor of
seq-uniq.  Update all callers.

; * lisp/tab-line.el: Remove stale comment.

15 months agoproject.el: Fix bug in project-ignores method for VC-aware backend
Damien Cassou [Sat, 2 Sep 2023 16:08:49 +0000 (18:08 +0200)]
project.el: Fix bug in project-ignores method for VC-aware backend

The variable `backend' was always nil preventing the 25-line long
`when' block from doing anything.  This bug was introduced in commit
785fa801596ad7bb9f838cac865f00de29e253d1 "New user option:
project-vc-extra-root-markers". (Bug#65704)

* lisp/progmodes/project.el (project-ignores): Make sure the variable
is initialized, so that backend-specific code is used if any.

15 months agoApply Eshell tilde expansion before glob expansion
Jim Porter [Sat, 2 Sep 2023 23:17:27 +0000 (16:17 -0700)]
Apply Eshell tilde expansion before glob expansion

By treating 'eshell-current-modifiers' as a hook, we can simplify much
of the code working with it and ensure that we call modifiers in a
more-correct order.

* lisp/eshell/em-dirs.el (eshell-expand-user-reference-1)
(eshell-expand-user-reference): Simplify.  We now only get a single
argument.
(eshell-parse-user-reference):
* lisp/eshell/em-glob.el (eshell-add-glob-modifier):
* lisp/eshell/em-pred.el (eshell-parse-arg-modifier): Use 'add-hook'.

15 months ago; Add debug instrumentation for Eshell argument modifiers
Jim Porter [Sat, 2 Sep 2023 23:07:59 +0000 (16:07 -0700)]
; Add debug instrumentation for Eshell argument modifiers

* lisp/eshell/esh-arg.el (eshell-resolve-current-argument): Add debug
instrumentation, and simplify modifier application.

15 months ago; * etc/NEWS: Tell users they don't need to change 'eshell-prompt-regexp'.
Jim Porter [Sat, 2 Sep 2023 22:47:36 +0000 (15:47 -0700)]
; * etc/NEWS: Tell users they don't need to change 'eshell-prompt-regexp'.

15 months agoDisplay the exit code if the last command failed in Eshell
Davide Masserut [Tue, 29 Aug 2023 20:33:48 +0000 (22:33 +0200)]
Display the exit code if the last command failed in Eshell

* lisp/eshell/esh-io.el (eshell-last-command-status): Make
buffer-local.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Insert the exit
code if last command failed.

* test/lisp/eshell/em-prompt-tests.el (em-prompt-test/after-failure):
New test.
(em-prompt-test/next-previous-prompt-1)
(em-prompt-test/forward-backward-matching-input-1): Add a failing
command to tests.

* doc/misc/eshell.texi (Invocation): Document change.

* etc/NEWS: Announce change (bug#65604).

15 months agoProvide our own implementation of paragraph navigation in Eshell
Jim Porter [Sat, 2 Sep 2023 22:03:10 +0000 (15:03 -0700)]
Provide our own implementation of paragraph navigation in Eshell

This lets us finally obsolete 'eshell-prompt-regexp', making it
simpler for users to customize their prompts.

* lisp/eshell/em-prompt.el (eshell-prompt-function): Update docstring.
(eshell-prompt-regexp): Make obsolete.
(eshell-prompt-initialize): Remove 'eshell-prompt-regexp' code.
(eshell-prompt-mode-map): Remap paragraph navigation commands to...
(eshell-forward-paragraph, eshell-backward-paragraph): ... these new
commands.

15 months agoBe more precise about navigating forward/backward through Eshell prompts
Jim Porter [Sat, 2 Sep 2023 21:44:33 +0000 (14:44 -0700)]
Be more precise about navigating forward/backward through Eshell prompts

* lisp/eshell/em-prompt.el (eshell-next-prompt): Make N optional.
When navigating, first move to the end of the prompt.  This makes the
subsequent navigation more predictable.
(eshell-previous-prompt): Mane N optional.

* test/lisp/eshell/em-prompt-tests.el
(em-prompt-test--with-multiline): Move to "Code" section.
(em-prompt-test/next-previous-prompt-with): Rename to...
(em-prompt-test/next-previous-prompt-1): ... this, and add additional
test cases.  Update callers.
(em-prompt-test/forward-backward-matching-input-with): Rename to...
(em-prompt-test/forward-backward-matching-input-1): ... this, and
improve existing test cases.

15 months agoFix and extend applying substitution in widget-choose
Stephen Berman [Sat, 2 Sep 2023 21:22:01 +0000 (23:22 +0200)]
Fix and extend applying substitution in widget-choose

* lisp/wid-edit.el (widget-choose): Iterate only over proper lists
when applying substitution (bug#64046, Message #53).  With simple
item definitions, apply substitution only to the item text, not to
its value (bug#64046, Message #86).  Apply substitution also to
the widget title (bug#64046, Message #92).

15 months ago; gdb-mi.el: remove unused variable
Mattias Engdegård [Sat, 2 Sep 2023 11:04:39 +0000 (13:04 +0200)]
; gdb-mi.el: remove unused variable

* lisp/progmodes/gdb-mi.el (gdb-active-process): Remove.
It went out of use in 2010 (691cf4a0a2), and was initialised to what
was clearly meant as a doc string.

15 months agoUpdate selected packages when deleting last package
Stefan Kangas [Sat, 2 Sep 2023 16:22:23 +0000 (18:22 +0200)]
Update selected packages when deleting last package

* lisp/emacs-lisp/package.el (package--save-selected-packages): Allow
setting 'package-selected-packages' to a nil value.  (bug#65475)

15 months agoOutput better error messages on certain edebug spec errors
Alan Mackenzie [Sat, 2 Sep 2023 13:50:03 +0000 (13:50 +0000)]
Output better error messages on certain edebug spec errors

This fixes bug#65620.  The error thrown up to now was "Void
function edebug-after".  This has been replaced by "Invalid
call to `edebug-before'.  Is the edebug spec for `foo'
correct?".

* lisp/emacs-lisp/edebug.el (edebug-b/a-error): New function
which throws the new friendlier error message.
(edebug-before, edebug-after): Replace the defalias's to nil
with actual functions which just call edebug-b/a-error.

* doc/lispref/edebug.texi (Specification List): In the entry
for `sexp', warn against mistakenly using `form' for an

15 months agoMake ediff-m-empty-t-f obsolete in favor of make-temp-file
Stefan Kangas [Sat, 2 Sep 2023 13:07:09 +0000 (15:07 +0200)]
Make ediff-m-empty-t-f obsolete in favor of make-temp-file

* lisp/vc/ediff-util.el (ediff-make-empty-tmp-file): Make obsolete
in favor of 'make-temp-file'.  Update callers.

15 months agoMake emerge-m-t-f obsolete in favor of make-temp-file
Stefan Kangas [Sat, 2 Sep 2023 12:42:30 +0000 (14:42 +0200)]
Make emerge-m-t-f obsolete in favor of make-temp-file

* lisp/vc/emerge.el (emerge-make-temp-file): Make obsolete in favor of
'make-temp-file'.  Update all callers.

15 months agoAdapt tramp-get-completion-methods
Michael Albinus [Sat, 2 Sep 2023 11:15:17 +0000 (13:15 +0200)]
Adapt tramp-get-completion-methods

* lisp/net/tramp.el (tramp-get-completion-methods): Make MULTI-HOP
optional.

15 months agoEglot: slightly simplify eglot--propose-changes-as-diff
João Távora [Sat, 2 Sep 2023 09:51:24 +0000 (10:51 +0100)]
Eglot: slightly simplify eglot--propose-changes-as-diff

bug#60338

* lisp/progmodes/eglot.el (eglot--propose-changes-as-diff):
Simplify slightly.

15 months ago; * src/treesit.c (treesit_recursion_limit): Fix compilation error.
Eli Zaretskii [Sat, 2 Sep 2023 08:50:27 +0000 (11:50 +0300)]
; * src/treesit.c (treesit_recursion_limit): Fix compilation error.

15 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 2 Sep 2023 08:39:01 +0000 (04:39 -0400)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

15 months agoRemove newsticker--lists-intersect-p
LdBeth [Mon, 26 Dec 2022 00:55:03 +0000 (18:55 -0600)]
Remove newsticker--lists-intersect-p

* lisp/net/newst-backend.el (newsticker--lists-intersect-p): Remove.
* lisp/net/newst-plainview.el (newsticker-w3m-show-inline-images)
(newsticker-next-new-item, newsticker-previous-new-item)
(newsticker-next-item, newsticker-next-item-same-feed)
(newsticker-previous-item, newsticker-next-item-available-p)
(newsticker-previous-item-available-p): Replace corresponding calls by
`invisible-p'.  (Bug#60328)

15 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 2 Sep 2023 08:33:44 +0000 (04:33 -0400)]
Merge from origin/emacs-29

dbbcf4a6599 Fix fontification of " in edit-kbd-macro
2137fdfd550 * lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete ...
e660ee88e3d ; Remove incorrect example from ELisp Reference manual
c32fd92d67e Add documentation to plstore.el
57760f585e2 * lisp/help.el (substitute-quotes): Improve docstring.
60dcea7658a Fix two defcustom :types
890a4c209ab Fix `image-auto-resize-on-window-resize' custom :type
369f2eea100 Add "terraform-ls" LSP server to Eglot
5cbe96d17f6 ; Improve documentation of 'char-table-range'
a219ee8c314 Fix minor bugs in vc-git and vc-hg on Windows uncovered b...
3f7598806eb Add syntax-propertize-function to js-ts-mode
18b292140ee ; * src/treesit.c: Add ts function boilerplate
ec4d29c4494 Improve performance of treesit_cursor_helper_1

# Conflicts:
# lisp/vc/vc-git.el
# src/treesit.c

15 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 2 Sep 2023 08:28:29 +0000 (04:28 -0400)]
; Merge from origin/emacs-29

The following commit was skipped:

f26622b2a47 * lisp/subr.el (combine-change-calls-1): Fix bug#64989

15 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 2 Sep 2023 08:28:17 +0000 (04:28 -0400)]
Merge from origin/emacs-29

648a5e33e80 Update to Org 9.6.8-3-g21171d
458442fe78c Escape percent character in treesit--inspect-name (bug#65...
bc0426ce8ed Don't add an extraneous slash in remote PATH list in Eshell
34f7a47c9ce Fix Tramp on MS Windows
ea5fd6c96bc * Fix native disassemble on Windows platforms (bug#65455)
91d2d8439bb * Handle missing eln file when trying to disassble (bug#6...
e7ac50a1539 * lisp/emacs-lisp/comp.el (comp--native-compile): Fix OUT...
45cf3a0cede Update to Transient v0.4.3
31d3808fb9d Adapt Eshell manual
0c50af054f9 Fix applying patches with Git on MS-Windows

# Conflicts:
# doc/misc/transient.texi
# test/lisp/eshell/esh-util-tests.el

15 months ago; Merge from origin/emacs-29
Eli Zaretskii [Sat, 2 Sep 2023 08:23:58 +0000 (04:23 -0400)]
; Merge from origin/emacs-29

The following commits were skipped:

de335cb3dc9 ; Effect a safer version of that fix for Emacs 29
a6cb8e3a1fa Repair bug#65068 on Emacs 29

15 months agoFix fontification of " in edit-kbd-macro
Stefan Kangas [Sat, 2 Sep 2023 07:48:18 +0000 (09:48 +0200)]
Fix fontification of " in edit-kbd-macro

* lisp/edmacro.el (edit-kbd-macro): Fix fontification when editing
keyboard macros containing the " character.

15 months ago* lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete (bug#65555).
Eli Zaretskii [Sat, 2 Sep 2023 07:44:50 +0000 (10:44 +0300)]
* lisp/emacs-lisp/gv.el (buffer-local-value): Unobsolete (bug#65555).

15 months ago; Remove incorrect example from ELisp Reference manual
Eli Zaretskii [Sat, 2 Sep 2023 07:38:16 +0000 (10:38 +0300)]
; Remove incorrect example from ELisp Reference manual

* doc/lispref/commands.texi (Event Examples): Remove incorrect
example of using SIGUSR1 signal as an event.  (Bug#65577)

15 months agoAdd documentation to plstore.el
Jens Schmidt [Wed, 16 Aug 2023 21:31:30 +0000 (23:31 +0200)]
Add documentation to plstore.el

* lisp/plstore.el: Add link to epa manual.  Describe more
restrictions.  Fix a typo in the examples.  Fix terminology.  Mark
FIXMEs as such.
* lisp/plstore.el (plstore-save): Describe edge case when no recipient
matches and mark as FIXME.  (Bug#63627)

15 months ago; Minor fixes of treesit docs
Eli Zaretskii [Sat, 2 Sep 2023 07:08:21 +0000 (10:08 +0300)]
; Minor fixes of treesit docs

* src/treesit.c (treesit_traverse_validate_predicate)
(Ftreesit_search_subtree, Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree, Ftreesit_node_match_p):
* lisp/treesit.el (treesit-beginning-of-thing)
(treesit-end-of-thing, treesit--things-around): Fix commentary and
doc strings.

15 months agoFix treesit-thing-definition
Yuan Fu [Sat, 2 Sep 2023 05:30:21 +0000 (22:30 -0700)]
Fix treesit-thing-definition

* lisp/treesit.el (treesit-thing-definition): Add LANGUAGE parameter.
(treesit-major-mode-setup): Update treesit-thing-definition.  Don't
enable tree-sitter sexp transpose if sexp isn't defined.

15 months ago; * lisp/treesit.el (treesit-thing-settings): Declare in treesit.el.
Yuan Fu [Sat, 2 Sep 2023 04:02:36 +0000 (21:02 -0700)]
; * lisp/treesit.el (treesit-thing-settings): Declare in treesit.el.

15 months ago; * src/treesit.c (Vtreesit_thing_settings): Update docstring.
Yuan Fu [Sat, 2 Sep 2023 02:47:20 +0000 (19:47 -0700)]
; * src/treesit.c (Vtreesit_thing_settings): Update docstring.

15 months agoDon't signal error when calling treesit-node-match-p in treesit.el
Yuan Fu [Sat, 2 Sep 2023 02:27:07 +0000 (19:27 -0700)]
Don't signal error when calling treesit-node-match-p in treesit.el

Specifically, don't signal error when the thing isn't defined.

* lisp/treesit.el (treesit-node-top-level)
(treesit-forward-sentence)
(treesit--things-around): Add IGNORE-MISSING argument.

15 months agoRename PRED to THING in tree-sitter navigation functions
Yuan Fu [Sat, 2 Sep 2023 00:37:46 +0000 (17:37 -0700)]
Rename PRED to THING in tree-sitter navigation functions

The primary way to use these functions should be to supply a thing
symbol. Change the parameter name to THING to reflect that.

* lisp/treesit.el (treesit-beginning-of-thing)
(treesit-end-of-thing)
(treesit--things-around)
(treesit--navigate-thing)
(treesit-thing-at-point): Change parameter.

15 months agoAdd an optional arg to Ftreesit_node_match_p
Yuan Fu [Sat, 2 Sep 2023 00:29:06 +0000 (17:29 -0700)]
Add an optional arg to Ftreesit_node_match_p

* src/treesit.c (treesit_traverse_child_helper): Fix typo.
(treesit_traverse_get_predicate): Add ignore_missing.

(Ftreesit_search_subtree)
(Ftreesit_search_forward)
(Ftreesit_induce_sparse_tree): Update docstring.
(Ftreesit_node_match_p): Add ignore_missing.

15 months agoObsolete treesit-block/sexp/sentence/text-type-regexp
Yuan Fu [Sat, 2 Sep 2023 00:14:44 +0000 (17:14 -0700)]
Obsolete treesit-block/sexp/sentence/text-type-regexp

And replace them with treesit-thing-settings.

* doc/lispref/positions.texi (List Motion): Remove mention of
treesit-sexp/sentence-type-regexp.

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode)
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
* lisp/progmodes/java-ts-mode.el (java-ts-mode)
* lisp/progmodes/js.el (js-ts-mode)
* lisp/progmodes/json-ts-mode.el (json-ts-mode)
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode)
* lisp/progmodes/typescript-ts-mode.el (typescript-ts-base-mode)
(tsx-ts-mode)
* lisp/progmodes/heex-ts-mode.el (heex-ts-mode)
* lisp/progmodes/sh-script.el (bash-ts-mode)
* lisp/progmodes/prog-mode.el (prog-fill-reindent-defun)
* lisp/textmodes/html-ts-mode.el (html-ts-mode): Replace
treesit-sexp/sentence/text-type-regexp with treesit-thing-settings.

* lisp/treesit.el (treesit-sexp-type-regexp)
(treesit-sentence-type-regexp): Mark obsolete.
(treesit-block-type-regexp): Remove.

* lisp/treesit.el (treesit-forward-sexp)
(treesit-transpose-sexps)
(treesit-beginning-of-defun)
(treesit-end-of-defun)
(treesit-forward-sentence)
(treesit-defun-at-point): Make use of treesit-thing-settings.

(treesit-thing-definition)
(treesit-thing-defined-p): New functions.

(treesit-major-mode-setup): Replace
treesit-sexp/sentence-type-regexp with treesit-thing-settings.

15 months agoOpen org-protocol:// links on Android
Po Lu [Sat, 2 Sep 2023 02:05:23 +0000 (10:05 +0800)]
Open org-protocol:// links on Android

* doc/emacs/android.texi (Android Startup): Revise to reflect
changes in the set of files registered for Emacsclient and
mention org-protocol support.

* java/AndroidManifest.xml.in: Open all files, not just a
particular subset of image and data files.  Register an
org-protocol scheme handler.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Provide
URI to Emacs verbatim if its scheme is `org-protocol'.

15 months agoxref.el: Ensure that the return value is the buffer
Dmitry Gutov [Sat, 2 Sep 2023 01:59:20 +0000 (04:59 +0300)]
xref.el: Ensure that the return value is the buffer

* lisp/progmodes/xref.el (xref--show-xrefs, xref--show-defs):
Ensure the return value of the funcall is returned (bug#65631).

15 months agoUpdate Android port
Po Lu [Sat, 2 Sep 2023 01:28:50 +0000 (09:28 +0800)]
Update Android port

* lisp/touch-screen.el (touch-screen-handle-point-up) <held>:
Treat `held' as `drag' as well.

* src/android.c (android_is_special_directory): Return bool
rather than a pointer to the remainder of the file name, given
that said pointer is never used.

* src/android.h (android_is_special_directory): Modify
correspondingly.

15 months agoDelete references to gnuserv
Stefan Kangas [Sat, 2 Sep 2023 00:42:07 +0000 (02:42 +0200)]
Delete references to gnuserv

* doc/misc/mh-e.texi (Incorporating Mail):
* doc/misc/octave-mode.texi (Concept Index):
* lisp/net/browse-url.el (browse-url-w3-gnudoit): Delete
references to gnuserv; these days we use emacsclient.

15 months agoMake url-gateway-broken-resolution obsolete
Stefan Kangas [Sat, 2 Sep 2023 00:31:23 +0000 (02:31 +0200)]
Make url-gateway-broken-resolution obsolete

* lisp/url/url-gw.el (url-gateway-broken-resolution)
(url-gateway-nslookup-program, url-gateway-nslookup-host): Make obsolete.
* doc/misc/url.texi (Broken hostname resolution): Delete commented
out section.

15 months ago* lisp/help.el (substitute-quotes): Improve docstring.
Stefan Kangas [Sat, 2 Sep 2023 00:21:54 +0000 (02:21 +0200)]
* lisp/help.el (substitute-quotes): Improve docstring.

15 months agoEglot: rework description and type of eglot-confirm-server-edits
Eshel Yaron [Fri, 1 Sep 2023 21:54:21 +0000 (22:54 +0100)]
Eglot: rework description and type of eglot-confirm-server-edits

Co-authored-by: João Távora <joaotavora@gmail.com>
* lisp/progmodes/eglot.el (eglot-confirm-server-edits): Improve
type description.

15 months agoEglot: handle unsaved buffers in new eglot--propose-changes-as-diff
João Távora [Fri, 1 Sep 2023 21:45:51 +0000 (22:45 +0100)]
Eglot: handle unsaved buffers in new eglot--propose-changes-as-diff

* lisp/progmodes/eglot.el (eglot--confirm-server-edits): Add docstring.
(eglot--propose-changes-as-diff): Rework.  Handle unsaved buffers.
(eglot--apply-workspace-edit): Rework.

15 months agoFix two defcustom :types
Stefan Kangas [Fri, 1 Sep 2023 20:17:48 +0000 (22:17 +0200)]
Fix two defcustom :types

* lisp/frame.el (blink-cursor-blinks):
* lisp/url/url-vars.el (url-max-redirections): Revert defcustom :types
back to integer.  (Bug#65655)

15 months agoMake checkdoc warn if not using lexical-binding
Stefan Kangas [Fri, 9 Dec 2022 09:58:22 +0000 (10:58 +0100)]
Make checkdoc warn if not using lexical-binding

* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
Warn if there is no lexical-binding cookie.  (Bug#59920)
(checkdoc-lexical-binding-flag): New user option.

15 months agoMake emacsclient handle org-protocol:// links
Ihor Radchenko [Wed, 23 Aug 2023 09:24:18 +0000 (12:24 +0300)]
Make emacsclient handle org-protocol:// links

Org mode provides a way to quickly capture bookmarks, notes, and links
using emacsclient:

    emacsclient "org-protocol://store-link?url=URL&title=TITLE"

* etc/emacsclient.desktop: Make Emacs the default application for
org-protocol.  (Bug#65469)

15 months agoFix regexp in help-do-arg-highlight
Eshel Yaron [Mon, 28 Aug 2023 11:43:52 +0000 (13:43 +0200)]
Fix regexp in help-do-arg-highlight

* lisp/help-fns.el (help-do-arg-highlight): Fix regexp.  (Bug#65580)

Avoid highlighting (parts of) the function name as arguments in the
output of 'describe-function' when the function has an argument with
the same name.  To achieve this, refine the regular expression that
'help-do-arg-highlight' uses such that it doesn't match anything in
the function name.

15 months agoFix `image-auto-resize-on-window-resize' custom :type
Manuel Giraud [Wed, 30 Aug 2023 15:38:57 +0000 (17:38 +0200)]
Fix `image-auto-resize-on-window-resize' custom :type

* lisp/image-mode.el (image-auto-resize-on-window-resize): Change
custom :type from integer to number to be able to set below 1
second.  (Bug#65626)

15 months agoAdd "terraform-ls" LSP server to Eglot
Ross Timson [Thu, 31 Aug 2023 19:28:22 +0000 (20:28 +0100)]
Add "terraform-ls" LSP server to Eglot

* lisp/progmodes/eglot.el (eglot-server-programs): Add "terraform-ls",
the official Terraform LSP server.  (Bug#65671)

Copyright-paperwork-exempt: yes

15 months ago; Fix debug logging for synchronous commands in Eshell tests
Jim Porter [Fri, 1 Sep 2023 16:26:14 +0000 (09:26 -0700)]
; Fix debug logging for synchronous commands in Eshell tests

* lisp/eshell/eshell.el (eshell-command-result): Call
'eshell-debug-command-start'.
* test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Update
comment.
(eshell-test-command-result): Set 'eshell-debug-command'.

15 months ago; Improve documentation of 'char-table-range'
Eli Zaretskii [Fri, 1 Sep 2023 13:33:40 +0000 (16:33 +0300)]
; Improve documentation of 'char-table-range'

* doc/lispref/sequences.texi (Char-Tables):
* src/chartab.c (Fchar_table_range): Clarify what
'char-table-range' returns for an argument that is a cons cell.

15 months agoFix minor bugs in vc-git and vc-hg on Windows uncovered by vc-tests
Eli Zaretskii [Fri, 1 Sep 2023 13:08:36 +0000 (16:08 +0300)]
Fix minor bugs in vc-git and vc-hg on Windows uncovered by vc-tests

* lisp/vc/vc-hg.el (vc-hg-state-slow): Non-existing files emit a
different message on MS-Windows; support that.
* lisp/vc/vc-git.el (vc-git-checkin): Make sure
'default-directory' is not nil when calling
'make-nearby-temp-file' on MS-Windows.

* test/lisp/vc/vc-tests.el (vc-test--version-diff): Run
'default-directory' through 'file-truename', otherwise the
'vc-test-cvs06-version-diff' test might fail on MS-Windows.

15 months ago* lisp/net/tramp.el (tramp-completion-multi-hop-methods):
Michael Albinus [Fri, 1 Sep 2023 12:03:26 +0000 (14:03 +0200)]
* lisp/net/tramp.el (tramp-completion-multi-hop-methods):

Add ;;;###tramp-autoload cookie.

15 months agoFix tramp-completion-multi-hop-methods handling
Michael Albinus [Fri, 1 Sep 2023 11:49:22 +0000 (13:49 +0200)]
Fix tramp-completion-multi-hop-methods handling

* lisp/net/tramp-container.el (tramp-completion-multi-hop-methods):
Add methods properly.

* lisp/net/tramp.el (tramp-completion-multi-hop-methods): Fix :type.

15 months agoFix VC mode-line indication for registerd but ignored files
Eli Zaretskii [Fri, 1 Sep 2023 11:31:35 +0000 (14:31 +0300)]
Fix VC mode-line indication for registerd but ignored files

* lisp/vc/vc-hooks.el (vc-ignored-state): New face.
(vc-default-mode-line-string): Add special indication and tooltip
for files that are registered, but also ignored.  See
https://lists.gnu.org/archive/html/emacs-devel/2023-09/msg00006.html
for the details of the use case.

* doc/emacs/maintaining.texi (VC Mode Line): Mention the
additional meaning of '!' in the VC status mode-line display.

15 months agoFix height of new SVG icons on tab-bar and tab-line (bug#62562)
Juri Linkov [Fri, 1 Sep 2023 06:56:59 +0000 (09:56 +0300)]
Fix height of new SVG icons on tab-bar and tab-line (bug#62562)

* lisp/tab-bar.el (tab-bar--load-buttons): Add ':height (1.0 . em)'
to icons tab-bar-new, tab-bar-menu-bar.
(tab-bar-history-mode): Add ':height (1.0 . em)'
to icons tab-bar-back, tab-bar-forward.

* lisp/tab-line.el (tab-line-new, tab-line-left, tab-line-right):
Add ':height (1.0 . em)' to these icons.

15 months agoDisplay the OSK after touch screen drag-to-select
Po Lu [Fri, 1 Sep 2023 06:50:28 +0000 (14:50 +0800)]
Display the OSK after touch screen drag-to-select

* lisp/touch-screen.el (touch-screen-handle-point-up) <drag>:
New case.  Activate the on screen keyboard should the window
where the first touch screen event landed have selected a
writable buffer in which the region is active.

15 months agoAdd debug instrumentation for Eshell process management
Jim Porter [Wed, 30 Aug 2023 00:11:42 +0000 (17:11 -0700)]
Add debug instrumentation for Eshell process management

* lisp/eshell/esh-util.el (eshell-debug-command)
* lisp/eshell/em-basic.el (eshell/eshell-debug)
(pcomplete/eshell-mode/eshell-debug): Add 'process' type.

* lisp/eshell/esh-proc.el (eshell-gather-process-output)
(eshell-interactive-process-filter, eshell-insertion-filter)
(eshell-sentinel): Call 'eshell-debug-command'.

* test/lisp/eshell/eshell-tests-helpers.el (with-temp-eshell): Add
'process' to 'eshell-debug-command'
(eshell-get-debug-logs): New function...
(eshell-match-command-output, eshell-command-result-equal): ... use
it.

* doc/misc/eshell.texi (Built-ins): Mention "process" debug type.

15 months agoFix handling of Eshell debug modes
Jim Porter [Wed, 30 Aug 2023 00:02:40 +0000 (17:02 -0700)]
Fix handling of Eshell debug modes

Previously, these were enabled/disabled at byte-compilation time, but
we want to control them at runtime.

* lisp/eshell/esh-cmd.el (eshell-eval-command): Call
'eshell-debug-command-start'.
(eshell-manipulate): Check 'eshell-debug-command' at runtime.  Update
callers.
(eshell-debug-command): Move to "esh-util.el".
(eshell/eshell-debug, pcomplate/eshell-mode/eshell-debug): Move to
"em-basic.el".
(eshell-debug-show-parsed-args): Update implementation.

* lisp/eshell/esh-util.el (eshell-debug-command): Move from
"esh-cmd.el" and convert to a list.
(eshell-debug-command-buffer): New variable.
(eshell-condition-case): Check 'eshell-handle-errors' at runtime.
(eshell-debug-command-start): New function.
(eshell-debug-command): Move from "esh-cmd.el" and convert to a macro.

* lisp/eshell/em-basic.el (eshell/eshell-debug)
(pcomplete/eshell-mode/eshell-debug): Move from "esh-cmd.el" and
reimplement.

* lisp/eshell/eshell.el (eshell-command): Pass the original input to
'eshell-eval-command'.

* doc/misc/eshell.texi (Built-ins): Update documentation for
'eshell-debug'.

15 months agoAdd syntax-propertize-function to js-ts-mode
Dmitry Gutov [Fri, 1 Sep 2023 01:41:15 +0000 (04:41 +0300)]
Add syntax-propertize-function to js-ts-mode

* lisp/progmodes/js.el (js-ts--s-p-query):
New variable (bug#65470).
(js-ts--syntax-propertize): New function.
(js-ts-mode): Use it.

15 months agoDon't push to Xref history when search ends with error
Dmitry Gutov [Fri, 1 Sep 2023 01:37:40 +0000 (04:37 +0300)]
Don't push to Xref history when search ends with error

* lisp/progmodes/xref.el (xref--push-markers):
Add new arguments (bug#65631).
(xref--show-xrefs, xref--show-defs): Use them.

15 months agoMinor copy-edits
Po Lu [Fri, 1 Sep 2023 00:52:22 +0000 (00:52 +0000)]
Minor copy-edits

* doc/emacs/android.texi (Android Document Providers): Fix typo.

* doc/emacs/haiku.texi (Haiku Basics): Likewise.

15 months agoProperly describe minor mode lighters while mode-line-compact
Po Lu [Fri, 1 Sep 2023 00:49:42 +0000 (00:49 +0000)]
Properly describe minor mode lighters while mode-line-compact

* lisp/help.el (describe-minor-mode-from-indicator): New arg
EVENT.  If set to a mouse event and mode-line-compact, search
for a suitable lighter within the entire posn object.

* lisp/bindings.el (mode-line-minor-mode-help): Supply EVENT.
(bug#65664)

15 months ago; Eglot: Update etc/EGLOT-NEWS
João Távora [Fri, 1 Sep 2023 00:09:57 +0000 (01:09 +0100)]
; Eglot: Update etc/EGLOT-NEWS

* etc/EGLOT-NEWS: Mention bug number of last change.

15 months agoEglot: revamp confirmation model for server-proposed edits
João Távora [Thu, 31 Aug 2023 23:48:25 +0000 (00:48 +0100)]
Eglot: revamp confirmation model for server-proposed edits

bug#60338

The variable 'eglot-confirm-server-edits' replaces the obsolete
'eglot-confirm-server-initiated-edits' and brings about a new
confirmation model, making it possible to have only certain commands
require user confirmation.  This was achieved careful usage of the
'this-command' and 'last-command' variables.

There are now two types of confirmation: the usual
minibuffer summary and a temporary 'diff-mode' buffer to display the
proposed changes, so the user can apply them one by one.

Thanks to Philip Kaludercic for the diff-mode idea and implementation.

Co-authored-by: Philip Kaludercic <philipk@posteo.net>
* doc/misc/eglot.texi (Eglot Variables): Describe
'eglot-confirm-server-edits'.

* etc/EGLOT-NEWS (latest): Mention change.

* lisp/progmodes/eglot.el (diff-mode): Require it.
(eglot-confirm-server-initiated-edits): Obsolete it.
(eglot-confirm-server-edits): New variable.
(eglot-handle-request workspace/applyEdit): Use 'last-command'
(eglot-execute t t): Use 'this-command'.
(eglot--apply-workspace-edit): Rework.
(eglot-rename): Use 'this-command'.

15 months ago; * src/treesit.c: Add ts function boilerplate
Yuan Fu [Thu, 31 Aug 2023 23:00:54 +0000 (16:00 -0700)]
; * src/treesit.c: Add ts function boilerplate

15 months agoHandle directory values of scopeUri in workspace/configuration
Jimmy Yuen Ho Wong [Thu, 31 Aug 2023 18:47:12 +0000 (19:47 +0100)]
Handle directory values of scopeUri in  workspace/configuration

Even though scopeUri is specified to be of documentUri type, some
servers (notably pyright) insist on passing the pathname of a
directory there.  In pyright's case this is frequently useless, as the
directory is the project directory.  Nevertheless we can be lenient to
those servers by detecting whether the value is a directory and doing
the right thing.

Note that we do not (yet) support per-file configuration storage.

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

Co-authored-by: João Távora <joaotavora@gmail.com>
GitHub-reference: https://github.com/joaotavora/eglot/pull/1281

15 months agoAdapt last change
Michael Albinus [Thu, 31 Aug 2023 15:21:23 +0000 (17:21 +0200)]
Adapt last change

* lisp/net/tramp-container.el (tramp-completion-multi-hop-methods):
Add "docker" and "podman".

* lisp/net/tramp.el (tramp-completion-multi-hop-methods):
Adapt docstring.  Use nil as initial value.

15 months agoAllow enabling multi-hop container completion selectively by method
Gene Goykhman [Thu, 31 Aug 2023 15:09:36 +0000 (17:09 +0200)]
Allow enabling multi-hop container completion selectively by method

* lisp/net/tramp-container.el: Check if METHOD is a member of
`tramp-container-multi-hop-methods' before attempting completion.

* lisp/net/tramp.el: Add custom variable
`tramp-container-multi-hop-methods'.

15 months agoCopy-edits to haiku.texi
Po Lu [Thu, 31 Aug 2023 12:22:16 +0000 (20:22 +0800)]
Copy-edits to haiku.texi

* doc/emacs/haiku.texi (Haiku, Haiku Basics, Haiku Fonts):
Refine to avoid excessively wordy and repetitive constructs.

15 months agoEnable gdb-mi to set breakpoints when threads of debuggee are running
Diancheng Wang [Wed, 9 Aug 2023 02:35:12 +0000 (10:35 +0800)]
Enable gdb-mi to set breakpoints when threads of debuggee are running

* lisp/progmodes/gdb-mi.el (gdb): Call 'gud-def' with 5th arg
non-nil for those commands that can be invoked asynchronously.
(gdb-starting): Set 'gud-async-running' non-nil for async commands.
* lisp/progmodes/gud.el (gud-async-running): New defvar.
(gud-menu-map): Enable some commands only if 'gud-async-running' is
non-nil.
(gud-def): Accept another optional argument ASYNC-OK.  (Bug#65612)

15 months ago; Fix push-button when triggered by a single keypress
Steven Allen [Fri, 25 Aug 2023 17:43:43 +0000 (10:43 -0700)]
; Fix push-button when triggered by a single keypress

* lisp/button.el (push-button): Don't assume the event is
a list, it may be a single key.  (Bug#65539)

15 months agostrokes: Support running a function when no stroke matches
Liu Hui [Tue, 22 Aug 2023 05:52:03 +0000 (13:52 +0800)]
strokes: Support running a function when no stroke matches

* lisp/strokes.el (strokes-no-match-function): New variable.
(strokes-no-match-default): New function.
(strokes-execute-stroke): Run `strokes-no-match-function' when no
stroke matches.  (Bug#65449)

15 months agoFix choice in electric-pair-skip-whitespace-chars
Mauro Aranda [Wed, 30 Aug 2023 22:45:09 +0000 (19:45 -0300)]
Fix choice in electric-pair-skip-whitespace-chars

* lisp/elec-pair.el (electric-pair-skip-whitespace-chars): Use repeat
instead of list in custom :type.  (Bug#65625)

15 months agoImprove performance of treesit_cursor_helper_1
Yuan Fu [Thu, 31 Aug 2023 03:53:03 +0000 (20:53 -0700)]
Improve performance of treesit_cursor_helper_1

* src/treesit.c: (treesit_cursor_helper_1): Use
ts_tree_cursor_goto_first_child_for_byte to speed up traversing among
siblings.  The "while (ts_node_end_byte (cursor_node) < end_pos)" can
be removed with the check added in the loop below.

15 months agoDelete unused fields
Po Lu [Thu, 31 Aug 2023 02:14:00 +0000 (02:14 +0000)]
Delete unused fields

* src/haiku_support.cc (class EmacsWindow)
<x_before_zoom, y_before_zoom>: Delete fields.

15 months agoInclude installation date within asset files
Po Lu [Thu, 31 Aug 2023 01:04:32 +0000 (09:04 +0800)]
Include installation date within asset files

* src/android.c (setEmacsParams): Set `emacs_installation_time'
to the mtime of the class path file, which happens to be the
time of Emacs's installation.
(emacs_installation_time): New variable.

* src/android.h (emacs_installation_time): Export new variable.

* src/androidvfs.c (android_afs_stat): If
emacs_installation_time is a valid timespec, set st_mtime to it.

15 months agoAdd one more mouse-set-point call to functions xref-find-*-at-mouse
Dmitry Gutov [Thu, 31 Aug 2023 00:21:11 +0000 (03:21 +0300)]
Add one more mouse-set-point call to functions xref-find-*-at-mouse

* lisp/progmodes/xref.el (xref-find-definitions-at-mouse)
(xref-find-references-at-mouse): Call mouse-set-point to ensure
that the search is initiated at the same place where
xref-backend-identifier-at-point was called (bug#65578).