]> git.eshelyaron.com Git - emacs.git/log
emacs.git
8 months agoFix typo in lispref "Creating Strings" section
Xiyue Deng [Thu, 11 Jan 2024 14:18:37 +0000 (15:18 +0100)]
Fix typo in lispref "Creating Strings" section

* doc/lispref/strings.texi (String Basics): Fix typo (bug#68375).

8 months agoFix count of no-op functions (bug#68375)
Xiyue Deng [Wed, 3 Jan 2024 00:31:30 +0000 (16:31 -0800)]
Fix count of no-op functions (bug#68375)

It looks like there are actually three kinds of no-op functions.

* doc/lispref/functions.texi (Calling Functions): Fix count and
plural of no-op functions.

Copyright-paperwork-exempt: yes

8 months agoWrap @pxref of Abbrevs in parentheses (bug#68375)
Xiyue Deng [Wed, 27 Dec 2023 20:35:39 +0000 (12:35 -0800)]
Wrap @pxref of Abbrevs in parentheses (bug#68375)

* doc/lispref/symbols.texi (Shorthands): Wrap `@pxref{Abbrevs}' in
parentheses.

Copyright-paperwork-exempt: yes

8 months ago; Fix last change in widget.texi
Eli Zaretskii [Thu, 11 Jan 2024 06:22:14 +0000 (08:22 +0200)]
; Fix last change in widget.texi

* doc/misc/widget.texi (url-link, toggle, Defining New Widgets):
Divide @example's into @group's.  (Bug#66229)

8 months ago; Fix typos
Stefan Kangas [Wed, 10 Jan 2024 23:32:15 +0000 (00:32 +0100)]
; Fix typos

8 months ago; * etc/TODO: Add item to make play-sound non-blocking.
Stefan Kangas [Wed, 10 Jan 2024 23:25:38 +0000 (00:25 +0100)]
; * etc/TODO: Add item to make play-sound non-blocking.

8 months agoAdd examples to the Widget manual
Mauro Aranda [Fri, 22 Sep 2023 23:45:00 +0000 (20:45 -0300)]
Add examples to the Widget manual

* doc/misc/widget.texi (Widget Gallery, Defining New Widgets): Add
examples.  (Bug#66229)

8 months agoImplement missing functions for custom-icon widget
Mauro Aranda [Sun, 5 Nov 2023 10:23:55 +0000 (07:23 -0300)]
Implement missing functions for custom-icon widget

* lisp/cus-edit.el (custom-icon-reset-saved, custom-icon-mark-to-save)
(custom-icon-state-set-and-redraw, custom-icon-reset-standard)
(custom-icon-mark-to-reset-standard): New functions.
(custom-icon, custom-icon-extended-menu): Register and add them to the
menu.  (Bug#66947)

8 months agoFix fontification of cgroup2 in fstab (bug#68367)
Stephen Berman [Wed, 10 Jan 2024 15:24:53 +0000 (16:24 +0100)]
Fix fontification of cgroup2 in fstab (bug#68367)

* lisp/generic-x.el (etc-fstab-generic-mode): Add cgroup2.

8 months agoHandle package versions that are not version strings
Philip Kaludercic [Wed, 10 Jan 2024 08:25:41 +0000 (09:25 +0100)]
Handle package versions that are not version strings

* lisp/emacs-lisp/package.el (package-menu--version-predicate): Ignore
any errors raised by 'version-to-list', thus falling back to the
default version list.  (Bug#68317)

(cherry picked from commit eb913c7501489e1eae475cae843fccdf14cc24d8)

8 months agoIntroduce 'let' using lexical binding in the Lisp Introduction
Jim Porter [Thu, 26 Oct 2023 03:43:57 +0000 (20:43 -0700)]
Introduce 'let' using lexical binding in the Lisp Introduction

* doc/lispintro/emacs-lisp-intro.texi (Prevent confusion): Rework the
explanation to discuss how things work under lexical binding.
(How let Binds Variables): Describe the differences between lexical
and dynamic binding (including how to configure it).
(defvar): Mention that 'defvar' declares variables as always
dynamically-bound (bug#66756).

8 months ago; Don't record multiple versions of use-package
Eli Zaretskii [Sun, 7 Jan 2024 15:15:18 +0000 (17:15 +0200)]
; Don't record multiple versions of use-package

* lisp/use-package/use-package-ensure-system-package.el: Remove
Version: header, to avoid confusing loaddefs-gene.  (Bug#68304)

8 months agoFix 'rmail-summary-by-thread'
Eli Zaretskii [Sat, 6 Jan 2024 17:30:16 +0000 (19:30 +0200)]
Fix 'rmail-summary-by-thread'

* lisp/mail/rmailsum.el (rmail-summary-by-thread): Call
'rmail-new-summary' from the original buffer, not from
'rmail-buffer' to avoid failing the logic in 'rmail-new-summary'
that decides whether to pop up a new window.  Reported by Andrea
Monaco <andrea.monaco@autistici.org>.

8 months ago* doc/emacs/back.texi: Fix a typo.
Jean-Christophe Helary [Sat, 6 Jan 2024 15:55:58 +0000 (15:55 +0000)]
* doc/emacs/back.texi: Fix a typo.

8 months ago; * doc/emacs/custom.texi (Changing a Variable): Update example (bug#68279).
Eli Zaretskii [Sat, 6 Jan 2024 11:45:33 +0000 (13:45 +0200)]
; * doc/emacs/custom.texi (Changing a Variable): Update example (bug#68279).

8 months agoFix icons.el when icon does not exist as a file
Eli Zaretskii [Sat, 6 Jan 2024 11:26:29 +0000 (13:26 +0200)]
Fix icons.el when icon does not exist as a file

* lisp/emacs-lisp/icons.el (icons--create): Handle the case when
ICON is a file that doesn't exists or is unreadable.  Suggested by
David Ponce <da_vid@orange.fr>.  (Bug#66846)

8 months ago; Improve documentation of 'buffer-match-p'
Eli Zaretskii [Sat, 6 Jan 2024 09:15:31 +0000 (11:15 +0200)]
; Improve documentation of 'buffer-match-p'

* doc/lispref/buffers.texi (Buffer List):
* doc/lispref/windows.texi (Choosing Window): Add caveats for
calling 'buffer-match-p' too early, when CONDITION is
'derived-mode' or 'major-mode'.  (Bug#68081)

8 months ago* lisp/isearch.el (isearch-search-and-update): Let-bind 'isearch-cmds'.
Juri Linkov [Fri, 5 Jan 2024 07:39:04 +0000 (09:39 +0200)]
* lisp/isearch.el (isearch-search-and-update): Let-bind 'isearch-cmds'.

When 'isearch-wrap-pause' is 'no' or 'no-ding', let-bind 'isearch-cmds'
to avoid changing it by 'isearch-push-state' in 'isearch-repeat',
so that a later DEL (isearch-delete-char) doesn't stop at the
intermediate failing state (bug#68158).

8 months ago* src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash table Qunbound use.
Andrea Corallo [Thu, 4 Jan 2024 10:06:41 +0000 (11:06 +0100)]
* src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash table Qunbound use.

8 months agoProvide decent documentation for 'help-quick'
Eli Zaretskii [Thu, 4 Jan 2024 08:17:30 +0000 (10:17 +0200)]
Provide decent documentation for 'help-quick'

* lisp/help.el (help-quick, help-quick-toggle): Doc fix.

* doc/emacs/help.texi (Help Summary, Misc Help): Document
'help-quick-toggle'.

8 months ago; * src/window.c (Fset_window_margins): Doc fix.
Eli Zaretskii [Wed, 3 Jan 2024 13:14:41 +0000 (15:14 +0200)]
; * src/window.c (Fset_window_margins): Doc fix.

8 months agotreesit--pre-syntax-ppss: Fix args-out-of-range in internal--syntax-propertize
Dmitry Gutov [Tue, 2 Jan 2024 13:32:03 +0000 (15:32 +0200)]
treesit--pre-syntax-ppss: Fix args-out-of-range in internal--syntax-propertize

* lisp/treesit.el (treesit--pre-syntax-ppss): Make sure the lower
bound is still within the current restriction (bug#67977).

8 months ago; Update copyright years in more files
Po Lu [Tue, 2 Jan 2024 02:17:39 +0000 (10:17 +0800)]
; Update copyright years in more files

8 months ago; Run set-copyright from admin.el
Po Lu [Tue, 2 Jan 2024 01:53:43 +0000 (09:53 +0800)]
; Run set-copyright from admin.el

8 months ago; Add 2024 to copyright years
Po Lu [Tue, 2 Jan 2024 01:47:10 +0000 (09:47 +0800)]
; Add 2024 to copyright years

8 months agoFix mangled Subject header field when forwarding (Bug#67360)
Mike Kupfer [Sun, 31 Dec 2023 17:11:23 +0000 (09:11 -0800)]
Fix mangled Subject header field when forwarding (Bug#67360)

* lisp/mh-e/mh-comp.el (mh-forward): Overwrite subject when
forwarding.

8 months agoUpdate to Org 9.6.15
Kyle Meyer [Mon, 1 Jan 2024 17:47:27 +0000 (12:47 -0500)]
Update to Org 9.6.15

8 months ago; * etc/TODO: Add an item about 'Info-hide-note-references'.
Eli Zaretskii [Sun, 31 Dec 2023 13:17:18 +0000 (15:17 +0200)]
; * etc/TODO: Add an item about 'Info-hide-note-references'.

8 months ago* doc/emacs/custom.texi (Modifier Keys): Fix markup (bug#68164).
Eli Zaretskii [Sun, 31 Dec 2023 07:44:32 +0000 (09:44 +0200)]
* doc/emacs/custom.texi (Modifier Keys): Fix markup (bug#68164).

Suggested by Jens Quade <jq@qdevelop.de>.

8 months agoorg-protocol: Minor copy-edits to Commentary
Stefan Kangas [Sat, 30 Dec 2023 16:53:26 +0000 (17:53 +0100)]
org-protocol: Minor copy-edits to Commentary

* lisp/org/org-protocol.el: Minor copy-edits to Commentary.

8 months agoImprove syntax highlighting for python-ts-mode
Denis Zubarev [Sat, 11 Nov 2023 01:55:44 +0000 (04:55 +0300)]
Improve syntax highlighting for python-ts-mode

Fix fontification of strings inside of f-strings interpolation, e.g. for
f"beg {'nested'}" - 'nested' was not fontified as string.  Do not
override the face of builtin functions (all, bytes etc.) with the
function call face.  Add missing assignment expressions (:= *=).
Fontify built-ins (dict,list,etc.) as types when they are used in type
hints.  Highlight union types (type1|type2).  Highlight base class names
in the class definition.  Fontify class patterns in case statements.
Highlight the second argument as a type in isinstance/issubclass call.
Highlight dotted decorator names.

* lisp/progmodes/python.el (python--treesit-keywords): Add compound
keyword "is not".
(python--treesit-builtin-types): New variable that stores all python
built-in types.
(python--treesit-type-regex): New variable.  Regex matches if text is
either built-in type or text starts with capital letter.
(python--treesit-builtins): Extract built-in types to other variable.
(python--treesit-fontify-string): fix f-string interpolation.  Enable
interpolation highlighting only if string-interpolation is presented
on the enabled levels of treesit-font-lock-feature-list.
(python--treesit-fontify-string-interpolation): Remove function.
(python--treesit-fontify-union-types): Fontify nested union types.
(python--treesit-fontify-union-types-strict): Fontify nested union
types, only if type identifier matches against
python--treesit-type-regex.
(python--treesit-fontify-dotted-decorator): Fontify all parts of
dotted decorator name.
(python--treesit-settings): Change/add rules.  (Bug#67061)

* test/lisp/progmodes/python-tests.el
(python-ts-tests-with-temp-buffer): Function for setting up test
buffer.
(python-ts-mode-compound-keywords-face)
(python-ts-mode-named-assignement-face-1)
(python-ts-mode-assignement-face-2)
(python-ts-mode-nested-types-face-1)
(python-ts-mode-union-types-face-1)
(python-ts-mode-union-types-face-2)
(python-ts-mode-types-face-1)
(python-ts-mode-types-face-2)
(python-ts-mode-types-face-3)
(python-ts-mode-isinstance-type-face-1)
(python-ts-mode-isinstance-type-face-2)
(python-ts-mode-isinstance-type-face-3)
(python-ts-mode-superclass-type-face)
(python-ts-mode-class-patterns-face)
(python-ts-mode-dotted-decorator-face-1)
(python-ts-mode-dotted-decorator-face-2)
(python-ts-mode-builtin-call-face)
(python-ts-mode-interpolation-nested-string)
(python-ts-mode-disabled-string-interpolation)
(python-ts-mode-interpolation-doc-string): Add tests.

8 months agoRevert "Fix treesit-node-field-name and friends (bug#66674)"
Yuan Fu [Sat, 30 Dec 2023 03:52:07 +0000 (19:52 -0800)]
Revert "Fix treesit-node-field-name and friends (bug#66674)"

This reverts commit 9874561f39e62c1c9fada6c2e013f93d9ea65729.

See bug#67990.  Basically our original code is correct, the error is
in libtree-sitter, which only manifests in certain cases.

https://github.com/tree-sitter/tree-sitter/pull/2104

8 months ago; * src/buffer.c (syms_of_buffer) <default-directory>: Doc fix (bug#68088).
Eli Zaretskii [Thu, 28 Dec 2023 19:46:59 +0000 (21:46 +0200)]
; * src/buffer.c (syms_of_buffer) <default-directory>: Doc fix (bug#68088).

8 months ago; Fix typo
Stefan Kangas [Tue, 26 Dec 2023 21:09:57 +0000 (22:09 +0100)]
; Fix typo

8 months ago; Fix last change.
Eli Zaretskii [Tue, 26 Dec 2023 12:51:37 +0000 (14:51 +0200)]
; Fix last change.

8 months ago; * etc/DEBUG: Improve advice for debugging native-compilation (bug#67900).
Eli Zaretskii [Tue, 26 Dec 2023 12:49:50 +0000 (14:49 +0200)]
; * etc/DEBUG: Improve advice for debugging native-compilation (bug#67900).

8 months agoExplain status "r" in `epa-list-keys`
Stefan Kangas [Mon, 25 Dec 2023 15:04:18 +0000 (16:04 +0100)]
Explain status "r" in `epa-list-keys`

* lisp/epa.el (epa-list-keys): Add revoked status to description.
Suggested by CHENG Gao <chenggao@icloud.com>.

8 months ago; * lisp/dired.el (dired--make-directory-clickable): Reformat comment.
Eli Zaretskii [Mon, 25 Dec 2023 13:07:21 +0000 (15:07 +0200)]
; * lisp/dired.el (dired--make-directory-clickable): Reformat comment.

8 months agoFix mouse clicks on directory line in Dired
Jared Finder [Sat, 16 Dec 2023 20:10:03 +0000 (12:10 -0800)]
Fix mouse clicks on directory line in Dired

The option 'dired-kill-when-opening-new-dired-buffer' should be
also honored when clicking the mouse to kill prev buffer.
* lisp/dired.el (dired--make-directory-clickable): Call
'dired--find-possibly-alternative-file' instead of 'dired', in
the click callback.  (Bug#67856)

8 months agoFix 'split-root-window-right' and 'split-root-window-below'
Eli Zaretskii [Mon, 25 Dec 2023 12:59:26 +0000 (14:59 +0200)]
Fix 'split-root-window-right' and 'split-root-window-below'

* lisp/window.el (split-root-window-right)
(split-root-window-below): Fix the 'interactive' spec to avoid
misbehaving when invoked with no prefix argument.  (Bug#67452)

8 months agoMark icalendar.el as maintained by emacs-devel
Stefan Kangas [Sun, 24 Dec 2023 13:57:49 +0000 (14:57 +0100)]
Mark icalendar.el as maintained by emacs-devel

* lisp/calendar/icalendar.el: Mark emacs-devel as the maintainer.
Ref: https://debbugs.gnu.org/34315#152

8 months ago; Fix footnotes in ELisp Intro manual
Eli Zaretskii [Sun, 24 Dec 2023 08:46:04 +0000 (10:46 +0200)]
; Fix footnotes in ELisp Intro manual

8 months agoFix usage of `setq-default' and offer more suggestions
Xiyue Deng [Sun, 24 Dec 2023 00:12:44 +0000 (16:12 -0800)]
Fix usage of `setq-default' and offer more suggestions

cd61af0 changed from default-major-mode to major-mode in the first
code sample but didn't change the rest.  This patch fixes this and add
some explanations of why use `setq-default' instead of `setq'.  In
addition, it gives background on suggesting using text-mode as default
mode and suggest other alternatives.

* doc/lispintro/emacs-lisp-intro.texi (Text and Auto-fill): Fix usage
of `setq-default' and offer more suggestions.  (Bug#67848)

8 months agoFix python-ts-mode triple quote syntax (bug#67262)
Yuan Fu [Sat, 23 Dec 2023 23:49:32 +0000 (15:49 -0800)]
Fix python-ts-mode triple quote syntax (bug#67262)

* lisp/progmodes/python.el (python--treesit-syntax-propertize): New function.
(python-ts-mode): Activate python--treesit-syntax-propertize.

8 months agoIncrement parser timestamp when narrowing changes (bug#67977)
Yuan Fu [Sun, 24 Dec 2023 00:47:04 +0000 (16:47 -0800)]
Increment parser timestamp when narrowing changes (bug#67977)

When narrowing changes, parse reparses, so the timestamp should
definitely increment, just like in ts_record_changes.

Failing to increment this timestamp, outdated nodes would think they
are still up-to-date, and try to print their type name.  Printing
their type name involves accessing the old parse tree, which is
already freed during the last reparse.

I also found that we don't increment timestamp when changing parser
ranges and fixed that as well.

* src/treesit.c (treesit_sync_visible_region):
(Ftreesit_parser_set_included_ranges): Increment timestamp.
* src/treesit.h (Lisp_TS_Parser): Add some comments.

8 months agoruby-ts-mode: Fix indentation for string_array closer
Dmitry Gutov [Sun, 24 Dec 2023 02:22:34 +0000 (04:22 +0200)]
ruby-ts-mode: Fix indentation for string_array closer

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Fix indentation for string_array closer.

8 months agotreesit-major-mode-setup: Use 'treesit--syntax-propertize-notifier'
Dmitry Gutov [Sun, 24 Dec 2023 02:07:15 +0000 (04:07 +0200)]
treesit-major-mode-setup: Use 'treesit--syntax-propertize-notifier'

* lisp/treesit.el (treesit-major-mode-setup): Make sure
'treesit--syntax-propertize-notifier' is used (bug#66732)

8 months agoruby-ts-mode: Fix an out-of-bounds error with heredoc at eob
Dmitry Gutov [Sun, 24 Dec 2023 01:58:49 +0000 (03:58 +0200)]
ruby-ts-mode: Fix an out-of-bounds error with heredoc at eob

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--syntax-propertize):
Fix an out-of-bounds error with heredoc at eob.

8 months agoCorrectly refontify changed region in tree-sitter modes (bug#66732)
Yuan Fu [Sun, 17 Dec 2023 01:15:04 +0000 (17:15 -0800)]
Correctly refontify changed region in tree-sitter modes (bug#66732)

We already have treesit--font-lock-notifier that should mark changed
regions to be refontified, but it's called too late in the redsiplay &
fontification pipeline.  Here we add treesit--pre-redisplay that
forces reparse and calls notifier functions in
pre-redisplay-functions, which is early enough for the marking to take
effect.

Similarly, we force reparse in
syntax-propertize-extend-region-functions so syntax-ppss will have the
up-to-date syntax information when it scans the buffer text.  We also
record the lowest start position of the affected regions, and make
sure next syntex-propertize starts from that position.

* lisp/treesit.el (treesit--pre-redisplay-tick):
(treesit--syntax-propertize-start): New variable.
(treesit--syntax-propertize-notifier):
(treesit--pre-redisplay):
(treesit--pre-syntax-ppss): New functions.
(treesit-major-mode-setup): Add hooks.

* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Remove notifier.
(ruby-ts--parser-after-change): Remove notifier function.

8 months ago* doc/man/emacsclient.1: Fix --tramp option.
Michael Albinus [Sat, 23 Dec 2023 11:04:37 +0000 (12:04 +0100)]
* doc/man/emacsclient.1: Fix --tramp option.

8 months ago* doc/man/emacsclient.1: Add missing sections (bug#66598)
Peter Oliver [Sat, 21 Oct 2023 13:02:06 +0000 (14:02 +0100)]
* doc/man/emacsclient.1: Add missing sections (bug#66598)

Copyright-paperwork-exempt: yes

8 months agoAdd explanation for extra parentheses in ELisp Introduction
Xiyue Deng [Thu, 14 Dec 2023 00:21:10 +0000 (16:21 -0800)]
Add explanation for extra parentheses in ELisp Introduction

* doc/lispintro/emacs-lisp-intro.texi (fwd-para while): Add
a note to explain the extra parentheses.  (Bug#67820)

8 months agoAdd sample code to the "let*" section in "forward-paragraph"
Xiyue Deng [Wed, 13 Dec 2023 21:38:55 +0000 (13:38 -0800)]
Add sample code to the "let*" section in "forward-paragraph"

* doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add code
sample.  (Bug#67817)

8 months agoFix treesit test (bug#67117)
Denis Zubarev [Sat, 11 Nov 2023 22:42:42 +0000 (01:42 +0300)]
Fix treesit test (bug#67117)

* test/src/treesit-tests.el (treesit-search-subtree-forward-1):
(treesit-search-subtree-backward-1): Replace treesit--thing-at with
treesit-query-capture (treesit--thing-at isn't available in Emacs 29).

8 months agoFix c++-ts-mode indentation (bug#67975)
Yuan Fu [Sat, 23 Dec 2023 05:25:00 +0000 (21:25 -0800)]
Fix c++-ts-mode indentation (bug#67975)

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Make indent
rule match precise so it doesn't match declaration_list.

8 months agoRecommend customizing eglot for python-base-mode
Stefan Kangas [Fri, 22 Dec 2023 21:36:37 +0000 (22:36 +0100)]
Recommend customizing eglot for python-base-mode

* doc/misc/eglot.texi (Project-specific configuration): Recommend
setting directory local variables for 'python-base-mode' instead of
'python-mode'.  This makes any customizations effective also for
'python-ts-mode'.

8 months agoImprove documentation of new native-compilation commands
Eli Zaretskii [Fri, 22 Dec 2023 14:49:49 +0000 (16:49 +0200)]
Improve documentation of new native-compilation commands

* lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu)
(emacs-lisp-native-compile, emacs-lisp-native-compile-and-load):
Doc fixes.

* doc/lispref/compile.texi (Native-Compilation Functions):
Document 'emacs-lisp-native-compile' and
'emacs-lisp-native-compile-and-load'.

8 months ago; Fix typo
Stefan Kangas [Fri, 22 Dec 2023 10:45:23 +0000 (11:45 +0100)]
; Fix typo

8 months agodoc/lispintro: Don't mention `set` (bug#67734)
Stefan Monnier [Thu, 21 Dec 2023 15:24:29 +0000 (10:24 -0500)]
doc/lispintro: Don't mention `set` (bug#67734)

* doc/lispintro/emacs-lisp-intro.texi (Using set): Delete.
(Using setq): Adjust accordingly.
(setq): Rename from "set & setq" and don't refer to `set` any more.
(Review): Don't mention `set` any more.

9 months agoFix script for some characters
Eli Zaretskii [Wed, 20 Dec 2023 13:55:41 +0000 (15:55 +0200)]
Fix script for some characters

* lisp/international/characters.el (char-script-table): Fix script
for 2 characters.

* admin/unidata/blocks.awk: Fix script for Yijing Hexagram
Symbols.  (Bug#67924)

9 months ago; * src/treesit.c (treesit_traverse_child_helper): Fix comment.
Eli Zaretskii [Tue, 19 Dec 2023 16:53:18 +0000 (18:53 +0200)]
; * src/treesit.c (treesit_traverse_child_helper): Fix comment.

9 months agoFix an issue when searching subtree backward (bug#67117)
Denis Zubarev [Sat, 11 Nov 2023 22:42:42 +0000 (01:42 +0300)]
Fix an issue when searching subtree backward (bug#67117)

* src/treesit.c (treesit_traverse_child_helper):
Do not call treesit_traverse_sibling_helper when the named node is
required and the last child is the named node.
Otherwise treesit_traverse_sibling_helper will move cursor to the
previous sibling and last node will be skipped.
* test/src/treesit-tests.el (treesit-search-subtree-forward-1):
(treesit-search-subtree-backward-1):
Add tests.

9 months agoFix passive mode for tnftp client in ange-ftp.el.
Christophe Deleuze [Mon, 18 Dec 2023 10:13:30 +0000 (11:13 +0100)]
Fix passive mode for tnftp client in ange-ftp.el.

* lisp/net/ange-ftp.el (ange-ftp-passive-mode): Fix passive mode
result string for tnftp client.  (Bug#67865)

Copyright-paperwork-exempt: yes

9 months ago; Improve documentation of ispell.el's dictionary database
Eli Zaretskii [Sun, 17 Dec 2023 07:07:11 +0000 (09:07 +0200)]
; Improve documentation of ispell.el's dictionary database

* lisp/textmodes/ispell.el (ispell-dictionary-base-alist)
(ispell-dictionary-alist): Doc fixes.  (Bug#67857)

9 months ago; * etc/PROBLEMS: Update the "GnuPG hangs" entry.
Eli Zaretskii [Sun, 17 Dec 2023 06:09:22 +0000 (08:09 +0200)]
; * etc/PROBLEMS: Update the "GnuPG hangs" entry.

9 months agoFix using disabled command without a docstring
Stefan Kangas [Sat, 16 Dec 2023 19:33:04 +0000 (20:33 +0100)]
Fix using disabled command without a docstring

* lisp/novice.el (disabled-command-function): Fix error when the
disable command has no docstring.  (Bug#67835)

9 months agoImprove documentation of text properties handling when yanking
Eli Zaretskii [Sat, 16 Dec 2023 19:21:33 +0000 (21:21 +0200)]
Improve documentation of text properties handling when yanking

* doc/lispref/text.texi (Text Properties): Mention special
handling of text properties while yanking.

9 months agoEglot: Add Uiua language server
skykanin [Sat, 16 Dec 2023 15:08:57 +0000 (16:08 +0100)]
Eglot: Add Uiua language server

* lisp/progmodes/eglot.el (eglot-server-programs): Add Uiua language
server.  (Bug#67850)

Copyright-paperwork-exempt: yes

9 months ago; * lisp/term.el (term--xterm-paste): Fix last change.
Eli Zaretskii [Sat, 16 Dec 2023 14:08:52 +0000 (16:08 +0200)]
; * lisp/term.el (term--xterm-paste): Fix last change.

9 months ago; * doc/lispref/functions.texi (Function Documentation): Fix @itemize.
Eli Zaretskii [Sat, 16 Dec 2023 14:06:29 +0000 (16:06 +0200)]
; * doc/lispref/functions.texi (Function Documentation): Fix @itemize.

9 months agoFix shaping of Sinhala text
Eli Zaretskii [Sat, 16 Dec 2023 13:33:02 +0000 (15:33 +0200)]
Fix shaping of Sinhala text

* lisp/language/sinhala.el (composition-function-table): Allow
U+200D U+0DCA as well as U+0DCA U+200D between consonants.
Suggested by Richard Wordingham <richard.wordingham@ntlworld.com>.
(Bug#67828)

9 months agoAdd use cases of (fn) documentation facility.
Jeremy Bryant [Sun, 3 Dec 2023 21:32:01 +0000 (21:32 +0000)]
Add use cases of (fn) documentation facility.

* doc/lispref/functions.texi (Function Documentation):  Add examples.
(Bug#67499)

Co-authored-by: Eli Zaretskii <eliz@gnu.org>
9 months agoFix pasting into terminal-mode on term.el
Eli Zaretskii [Sat, 16 Dec 2023 12:44:32 +0000 (14:44 +0200)]
Fix pasting into terminal-mode on term.el

* lisp/term.el (term--xterm-paste): Read pasted text from the
input event.  Suggested by Jared Finder <jared@finder.org>.
(Bug#49253)

9 months agoFix opening directory trees from Filesets menu
Eli Zaretskii [Sat, 16 Dec 2023 11:25:58 +0000 (13:25 +0200)]
Fix opening directory trees from Filesets menu

In bug#976, the code was fixed, but the cautious condition in
the original author's code, which catered to invoking
'filelists-open' from the menu-bar menu, was omitted, which made
that invocation, which did work before, broken.
* lisp/filesets.el (filesets-get-filelist): Fix opening directory
trees from the Filesets menu-bar menu.  (Bug#67658)

9 months agoEglot: Add ruff-lsp as an alternative Python server
Niall Dooley [Fri, 24 Nov 2023 15:52:36 +0000 (16:52 +0100)]
Eglot: Add ruff-lsp as an alternative Python server

ruff-lsp [1] is an LSP server for Ruff [2], [3], a fast Python linter
and code formatter.

It supports surfacing Ruff diagnostics and providing Code Actions to
fix them, but is intended to be used alongside another Python LSP in
order to support features like navigation and autocompletion.

[1]: https://github.com/astral-sh/ruff-lsp
[2]: https://github.com/astral-sh/ruff
[3]: https://docs.astral.sh/ruff/

* lisp/progmodes/eglot.el (eglot-server-programs): Add ruff-lsp.

Copyright-paperwork-exempt: yes

9 months agoFix symbol name in Multisession Variables examples
Adam Porter [Fri, 15 Dec 2023 00:28:53 +0000 (18:28 -0600)]
Fix symbol name in Multisession Variables examples

* doc/lispref/variables.texi (Multisession Variables): Fix symbol
name.  (Bug#67823)

9 months agojs-ts-mode: Fix font-lock rules conflict
Dmitry Gutov [Tue, 12 Dec 2023 22:00:38 +0000 (00:00 +0200)]
js-ts-mode: Fix font-lock rules conflict

* lisp/progmodes/js.el (js--treesit-font-lock-settings): Move
'property' to after 'jsx'.  Stop using predicate (bug#67684).
(js--treesit-property-not-function-p): Delete.

9 months agoAdd indentation rules for bracketless statements in js-ts-mode
Noah Peart [Sun, 10 Dec 2023 22:58:31 +0000 (14:58 -0800)]
Add indentation rules for bracketless statements in js-ts-mode

* lisp/progmodes/js.el (js--treesit-indent-rules): Add indentation
rules to handle bracketless statements (bug#67758).
* test/lisp/progmodes/js-tests.el (js-ts-mode-test-indentation):
New test for js-ts-mode indentation.
* test/lisp/progmodes/js-resources/js-ts-indents.erts: New file
with indentation tests for js-ts-mode.

9 months agoFix c-ts-mode bracketless indentation for BSD style (bug#66152)
Yuan Fu [Mon, 11 Dec 2023 02:24:27 +0000 (18:24 -0800)]
Fix c-ts-mode bracketless indentation for BSD style (bug#66152)

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): Make sure the BSD rules only apply to
opening bracket (compound_statement), then bracketless statements will
fallback to common rules.
* test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts: Copy the
bracketless test from indent.erts to here.

9 months agoAdd missing indent rules in c-ts-mode (bug#66152)
Augustin Chéneau [Wed, 20 Sep 2023 10:23:06 +0000 (12:23 +0200)]
Add missing indent rules in c-ts-mode (bug#66152)

Example:

    static myttype *
    variable_name;

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add rules.

9 months agoFix treesit-default-defun-skipper (bug#66711)
Yuan Fu [Mon, 11 Dec 2023 01:40:39 +0000 (17:40 -0800)]
Fix treesit-default-defun-skipper (bug#66711)

* lisp/treesit.el:
(treesit-default-defun-skipper): Add bol to the rx pattern.

9 months agoFix treesit-node-field-name and friends (bug#66674)
Yuan Fu [Mon, 11 Dec 2023 00:23:44 +0000 (16:23 -0800)]
Fix treesit-node-field-name and friends (bug#66674)

So turns out ts_node_field_name_for_child takes a named node index,
but we were passing it normal index that counts both named and
anonymous nodes.  That's what makes the field name all wrong in
treesit explorer.

* doc/lispref/parsing.texi:
(Accessing Node Information): Update docstring.
* lisp/treesit.el (treesit-node-index): Add some unrelated comment.
(treesit-node-field-name): Get named node index rather than all node
index.
* src/treesit.c (Ftreesit_node_field_name_for_child): Update
docstring, use ts_node_named_child_count.

9 months agopython-ts-mode: Highlight default parameters
Maciej Kalandyk [Sun, 10 Dec 2023 23:15:34 +0000 (01:15 +0200)]
python-ts-mode: Highlight default parameters

* lisp/progmodes/python.el (python--treesit-settings):
Highlight default parameters (bug#67703).

9 months agoUpdate to Org 9.6.13
Kyle Meyer [Sun, 10 Dec 2023 16:16:58 +0000 (11:16 -0500)]
Update to Org 9.6.13

9 months ago; Fix typos
Stefan Kangas [Sun, 10 Dec 2023 11:39:54 +0000 (12:39 +0100)]
; Fix typos

9 months ago; Fix typos in ChangeLog files
Stefan Kangas [Sun, 10 Dec 2023 11:38:19 +0000 (12:38 +0100)]
; Fix typos in ChangeLog files

9 months ago; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristic): Doc fix.
Eli Zaretskii [Sun, 10 Dec 2023 09:41:35 +0000 (11:41 +0200)]
; * lisp/progmodes/c-ts-mode.el (c-ts-mode--else-heuristic): Doc fix.

9 months agoFix c-ts-mode indent heuristic (bug#67417)
Yuan Fu [Sun, 10 Dec 2023 09:24:25 +0000 (01:24 -0800)]
Fix c-ts-mode indent heuristic (bug#67417)

This is a continuation of the first two patches for bug#67417.  The
c-ts-mode--prev-line-match heuristic we added is too broad, so for now
we are just adding a very specific heuristic for the else case.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--prev-line-match): Remove function.
(c-ts-mode--else-heuristic): New function.
(c-ts-mode--indent-styles): Use c-ts-mode--else-heuristic.

9 months agoFix c-ts-mode indentation (bug#67357)
nverno [Wed, 22 Nov 2023 00:33:04 +0000 (16:33 -0800)]
Fix c-ts-mode indentation (bug#67357)

1. In a compund_statement, we indent the first sibling against the
parent, and the rest siblings against their previous sibling.  But
this strategy falls apart when the first sibling is not on its own
line.  We should regard the first sibling that is on its own line as
the "first sibling"", and indent it against the parent.

2. In linux style, in a do-while statement, if the do-body is
bracket-less, the "while" keyword is indented to the same level as the
do-body.  It should be indented to align with the "do" keyword
instead.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--no-prev-standalone-sibling): New function.
(c-ts-mode--indent-styles): Use
c-ts-mode--no-prev-standalone-sibling. Add while keyword indent rule.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New tests.

9 months agoAdd font-locking for hash-bang lines in typescript-ts-mode.
nverno [Sat, 9 Dec 2023 19:35:44 +0000 (11:35 -0800)]
Add font-locking for hash-bang lines in typescript-ts-mode.

* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--font-lock-settings):
Add font-lock for hash bang line.

9 months agoAdd font-locking for hash-bang lines in js-ts-mode
nverno [Sat, 9 Dec 2023 19:28:15 +0000 (11:28 -0800)]
Add font-locking for hash-bang lines in js-ts-mode

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Add font-lock for hash bang line.

9 months agoruby-mode: Better detect regexp vs division (bug#67569)
Dmitry Gutov [Sat, 9 Dec 2023 17:04:55 +0000 (19:04 +0200)]
ruby-mode: Better detect regexp vs division (bug#67569)

* lisp/progmodes/ruby-mode.el (ruby-syntax-before-regexp-re):
Add grouping around methods from the whitelist.
(ruby-syntax-propertize): Also look for spaces around the slash.

9 months ago; Minor copyedits in description of ':box' face property
Eli Zaretskii [Sat, 9 Dec 2023 11:05:07 +0000 (13:05 +0200)]
; Minor copyedits in description of ':box' face property

* doc/lispref/display.texi (Face Attributes): Rearrange
description of ':box' attributes.  Suggested by Arash Esbati
<arash@gnu.org>.  (Bug#67713)

9 months agoFix dragging mode line on text terminals with a mouse (bug#67457)
Jared Finder [Sat, 9 Dec 2023 08:17:05 +0000 (10:17 +0200)]
Fix dragging mode line on text terminals with a mouse (bug#67457)

* lisp/xt-mouse.el (xterm-mouse-translate-1): Fix the 'event-kind'
property of mouse-movement symbols emitted by xt-mouse.
* lisp/term/linux.el (terminal-init-linux): Call 'gpm-mouse-mode'
to set up the terminal for the mouse, if needed.

9 months ago; * doc/lispref/processes.texi (Network): Fix wording and punctuation.
Eli Zaretskii [Sat, 9 Dec 2023 07:48:40 +0000 (09:48 +0200)]
; * doc/lispref/processes.texi (Network): Fix wording and punctuation.

9 months ago(rust-ts-mode): Set electric-indent-chars
Christophe TROESTLER [Fri, 8 Dec 2023 19:39:31 +0000 (21:39 +0200)]
(rust-ts-mode): Set electric-indent-chars

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode):
Set electric-indent-chars (bug#67701).

9 months agojs-ts-mode: Highlight function parameters inside destructuring
Dmitry Gutov [Fri, 8 Dec 2023 02:20:39 +0000 (04:20 +0200)]
js-ts-mode: Highlight function parameters inside destructuring

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Highlight function parameters declared using destructuring syntax.

9 months agojs-ts-mode: Highlight property shorthands in assignments
Dmitry Gutov [Fri, 8 Dec 2023 02:12:21 +0000 (04:12 +0200)]
js-ts-mode: Highlight property shorthands in assignments

* lisp/progmodes/js.el (js--treesit-lhs-identifier-query): Match
property shorthands (which turn into variable reference).
(js--treesit-fontify-assignment-lhs): Use the matches.

9 months ago(js--treesit-font-lock-settings): Highlight parameters in function expression
Dmitry Gutov [Fri, 8 Dec 2023 01:58:18 +0000 (03:58 +0200)]
(js--treesit-font-lock-settings): Highlight parameters in function expression

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Highlight parameters in a function expression (the node type
'function').  Make the matcher for 'formal_parameters' independent
of the parent, that just created duplication.

9 months ago(js--treesit-font-lock-settings): Remove some duplicates
Dmitry Gutov [Fri, 8 Dec 2023 01:48:45 +0000 (03:48 +0200)]
(js--treesit-font-lock-settings): Remove some duplicates

* lisp/progmodes/js.el (js--treesit-font-lock-settings):
Remove queries from 'function' that duplicate entries in
'definition' (one of them with a typo).