]> git.eshelyaron.com Git - emacs.git/log
emacs.git
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).

15 months agoMake browse-url-button support more SSL URIs
Stefan Kangas [Wed, 30 Aug 2023 18:56:14 +0000 (20:56 +0200)]
Make browse-url-button support more SSL URIs

* lisp/net/browse-url.el (browse-url-button-regexp): Add support for
gophers:// and ftps:// URIs.  (Bug#65627)

15 months agoClean up some safe-local-variable predicates
Stefan Kangas [Wed, 30 Aug 2023 17:42:58 +0000 (19:42 +0200)]
Clean up some safe-local-variable predicates

* lisp/progmodes/project.el: Add comments with a reminder to simplify
'safe-local-variable' predicates when Emacs 28 support is dropped.
(project-vc-ignores): Mark only a list of strings as safe-local.
* lisp/textmodes/reftex-vars.el (reftex-guess-label-type): Use
booleanp for 'safe-local-variable' predicate.  (Bug#65608)

15 months agoFix revert-buffer when some decoding is involved
Eli Zaretskii [Wed, 30 Aug 2023 14:16:59 +0000 (17:16 +0300)]
Fix revert-buffer when some decoding is involved

* src/fileio.c (Finsert_file_contents): Fix the amount of text
read from the file when reverting.  (Bug#65609)

15 months agoFacilitate typing `C-SPC' on Android
Po Lu [Wed, 30 Aug 2023 02:07:49 +0000 (10:07 +0800)]
Facilitate typing `C-SPC' on Android

* doc/emacs/android.texi (Android Windowing): Mention C-SPC
interception and how it may be disabled.

* java/org/gnu/emacs/EmacsNative.java (shouldForwardCtrlSpace):
New function.

* java/org/gnu/emacs/EmacsView.java (onKeyPreIme): New function.
If the provided key code is SPC and the event's modifier key
mask contains ControlMask, relay it directly to onKeyDown.

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Export
and make static.

* src/android.c (shouldForwardCtrlSpace): New function.

* src/androidfns.c (syms_of_androidfns)
<android_intercept_control_space>: New defvar.

15 months agoAdd quotes around `C-x C-f` in the *scratch* buffer
Stefan Kangas [Tue, 29 Aug 2023 21:49:57 +0000 (23:49 +0200)]
Add quotes around `C-x C-f` in the *scratch* buffer

* lisp/startup.el (initial-scratch-message): Add quotes around the
'find-file' keybinding.

15 months ago; Fix copyright year in proced-tests.el
Stefan Kangas [Tue, 29 Aug 2023 19:40:38 +0000 (21:40 +0200)]
; Fix copyright year in proced-tests.el

15 months agoMake Emacs 21 compat alias obsolete
Stefan Kangas [Tue, 29 Aug 2023 16:49:02 +0000 (18:49 +0200)]
Make Emacs 21 compat alias obsolete

* lisp/loadhist.el (loadhist-hook-functions): Make Emacs 21
compatibility alias obsolete.

15 months agoMake Makefile browser obsolete
Stefan Kangas [Tue, 29 Aug 2023 16:28:57 +0000 (18:28 +0200)]
Make Makefile browser obsolete

* lisp/progmodes/make-mode.el:
(makefile-mode): Don't document Makefile browser mode.
(makefile-browser-toggle-state-for-line):
(makefile-browser-buffer-name, makefile-browser-leftmost-column)
(makefile-browser-cursor-column, makefile-browser-selected-mark)
(makefile-browser-unselected-mark)
(makefile-browser-auto-advance-after-selection-p)
(makefile-browser-hook, makefile-browser-map)
(makefile-browser-client, makefile-browser-selection-vector)
(makefile-browser-format-target-line)
(makefile-browser-format-macro-line, makefile-browser-fill)
(makefile-browser-next-line, makefile-browser-previous-line)
(makefile-browser-quit, makefile-browser-toggle)
(makefile-browser-insert-continuation)
(makefile-browser-insert-selection)
(makefile-browser-insert-selection-and-quit)
(makefile-browser-send-this-line-item)
(makefile-browser-start-interaction, makefile-browse)
(makefile-switch-to-browser, makefile-browser-on-macro-line-p)
(makefile-browser-this-line-target-name)
(makefile-browser-this-line-macro-name)
(makefile-browser-get-state-for-line)
(makefile-browser-set-state-for-line)
(makefile-browser-toggle-state-for-line): Make obsolete.  (Bug#58848)
(makefile-mode-menu): Remove Makefile browser from menu.
* etc/NEWS: Announce its obsoletion.

15 months agoFix tramp-accept-process-output
Michael Albinus [Tue, 29 Aug 2023 12:16:15 +0000 (14:16 +0200)]
Fix tramp-accept-process-output

* lisp/net/tramp.el (tramp-accept-process-output):
Use `with-tramp-suspended-timers' also for the other processes.

15 months agoAdapt some changes of last Tramp commit
Michael Albinus [Tue, 29 Aug 2023 09:30:20 +0000 (11:30 +0200)]
Adapt some changes of last Tramp commit

* lisp/net/tramp-container.el (tramp-container--completion-function):
Use METHOD as argument, instead of PROGRAM.  Determine program
from METHOD entry in `tramp-methods'.  Bind `non-essential' to
nil.  Use a file property as cache.
(tramp-container--completion-function): Use adapted arguments when
setting for "docker" and "podman".

* lisp/net/tramp.el (tramp--last-hop-directory): Adapt docstring.
Move down.
(tramp-set-completion-function): Revert default case to
`file-exists-p', the workaround isn't needed anymore.
(tramp-get-completion-methods): Rename argument to MULTI-HOP.
(tramp-completion-remote-containers): Add :version.
(tramp-multi-hop-p): Bind `tramp-verbose' to nil.

15 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 29 Aug 2023 09:29:37 +0000 (11:29 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

15 months agoRename 'package-vc-allow-side-effects' to better fit its use
Eshel Yaron [Sun, 20 Aug 2023 14:29:33 +0000 (16:29 +0200)]
Rename 'package-vc-allow-side-effects' to better fit its use

* lisp/emacs-lisp/package-vc.el (package-vc-allow-side-effects):
Rename to 'package-vc-allow-build-commands'.
(package-vc--unpack-1): Use new name.
* doc/emacs/package.texi (Fetching Package Sources): Use new name.
* etc/NEWS: Adapt accordingly.  (Bug#65386)

15 months ago; Refine 'defcustom' types in 'package-vc'
Eshel Yaron [Sun, 20 Aug 2023 14:20:54 +0000 (16:20 +0200)]
; Refine 'defcustom' types in 'package-vc'

Only include VC backends that support cloning in the ':type' of
'package-vc-heuristic-alist' and 'package-vc-default-backend', and
compute the list of relevant on demand to keep it fresh.

* lisp/emacs-lisp/package-vc.el (package-vc--backend-type): New constant.
(package-vc-heuristic-alist, package-vc-default-backend): Use it.  (Bug#65386)

15 months ago; Refine some 'package-vc' docstrings
Eshel Yaron [Fri, 18 Aug 2023 19:59:10 +0000 (21:59 +0200)]
; Refine some 'package-vc' docstrings

* lisp/emacs-lisp/package-vc.el (package-vc-heuristic-alist)
(package-vc-install-dependencies, package-vc-upgrade)
(package-vc-install, package-vc-install-from-checkout)
(package-vc-prepare-patch, package-vc-upgrade-all)
(package-vc-allow-side-effects)
(package-vc-default-backend): Refine docstrings.  (Bug#65386)