]> git.eshelyaron.com Git - emacs.git/log
emacs.git
22 months ago* src/.gdbinit (nextcons): Amend $.u.cdr to $.u.s.u.cdr (bug#61453).
Alan Mackenzie [Sun, 12 Feb 2023 19:06:50 +0000 (19:06 +0000)]
* src/.gdbinit (nextcons): Amend $.u.cdr to $.u.s.u.cdr (bug#61453).

(cherry picked from commit dde023b63ab82c38d33815409de5552f5bf349d1)

22 months agoAdd lambda_expression to c-ts-common-indent-type-regexp-alist
Theodor Thornhill [Sun, 12 Feb 2023 17:57:40 +0000 (18:57 +0100)]
Add lambda_expression to c-ts-common-indent-type-regexp-alist

* lisp/progmodes/java-ts-mode.el (java-ts-mode): Tweak regexp.

22 months ago; Use the right name when specifying VC packages
Philip Kaludercic [Sun, 12 Feb 2023 13:29:26 +0000 (14:29 +0100)]
; Use the right name when specifying VC packages

* lisp/emacs-lisp/package-vc.el
(package-vc-install-selected-packages): Generate dummy package
descriptors in here, if necessary.
(package-vc--unpack): Remove dummy-descriptor generation.

22 months agoTolerate missing elpa-packages.eld files
Philip Kaludercic [Sun, 12 Feb 2023 12:25:54 +0000 (13:25 +0100)]
Tolerate missing elpa-packages.eld files

* lisp/emacs-lisp/package-vc.el
(package-vc--download-and-read-archives): Replace
'condition-case-unless-debug' with a regular 'condition-case'.

It appears a few people using third-party archives that don't serve
package specifications have been having issues with package-vc, when
toggle-on-error is enabled.  In their case, package-vc would raise an
error in its first invocation, but it would go on working normally
afterwards.  As this behaviour is confusing and the user can't do much
about a missing elpa-packages.eld to begin with, we satisfy ourselves
with printing out a message and continuing on.

22 months agoAvoid warning about 'load-path' in non-interactive sessions
Eli Zaretskii [Sun, 12 Feb 2023 12:20:48 +0000 (14:20 +0200)]
Avoid warning about 'load-path' in non-interactive sessions

* lisp/startup.el (command-line): Emit the warning about
'user-emacs-directory' in 'load-path' only in interactive
sessions.  (Bug#61014)

22 months ago; Fix installation of dependencies for VC packages
Philip Kaludercic [Sun, 12 Feb 2023 12:10:04 +0000 (13:10 +0100)]
; Fix installation of dependencies for VC packages

* lisp/emacs-lisp/package-vc.el (package-vc-install-dependencies):
Maintain a list of package-desc objects instead of package names to
install.

22 months ago; Mention Hunspell private-dictionary misfeature in doc strings
Eli Zaretskii [Sun, 12 Feb 2023 12:05:44 +0000 (14:05 +0200)]
; Mention Hunspell private-dictionary misfeature in doc strings

* lisp/textmodes/ispell.el (ispell-personal-dictionary)
(ispell-local-pdict): Mention Hunspell misfeatures in doc
strings.  (Bug#61190)

22 months agoSupport webkit2gtk-4.1
Ulrich Müller [Thu, 9 Feb 2023 09:58:48 +0000 (10:58 +0100)]
Support webkit2gtk-4.1

* configure.ac: Check for webkit2gtk API version 4.1 first, then
fall back to 4.0.

22 months ago; Fix typo
Stefan Kangas [Sun, 12 Feb 2023 06:47:09 +0000 (07:47 +0100)]
; Fix typo

22 months ago; Fix typo in buffer.h
Daniel Martín [Sun, 12 Feb 2023 00:32:20 +0000 (01:32 +0100)]
; Fix typo in buffer.h

22 months ago; Fix typos
Stefan Kangas [Sun, 12 Feb 2023 02:23:13 +0000 (03:23 +0100)]
; Fix typos

22 months ago; Fix doc strings in lisp/image/ directory
Eli Zaretskii [Sat, 11 Feb 2023 14:49:54 +0000 (16:49 +0200)]
; Fix doc strings in lisp/image/ directory

* lisp/image/wallpaper.el (wallpaper-setter)
(wallpaper--find-command, wallpaper--x-monitor-name)
(wallpaper--format-arg):
* lisp/image/image-dired-util.el
(image-dired-associated-dired-buffer)
(image-dired--with-dired-buffer):
* lisp/image/image-dired-tags.el (image-dired--with-db-file)
(image-dired-remove-tag, image-dired-list-tags)
(image-dired-tag-files, image-dired-write-comments)
(image-dired-update-property):
* lisp/image/image-dired-external.el (image-dired-cmd-pngnq-options)
(image-dired-cmd-pngcrush-program)
(image-dired-cmd-pngcrush-options)
(image-dired-cmd-optipng-options)
(image-dired-cmd-create-standard-thumbnail-options)
(image-dired-cmd-rotate-original-program)
(image-dired-cmd-rotate-original-options)
(image-dired-cmd-write-exif-data-options, image-dired-queue)
(image-dired-queue-active-limit, image-dired-pngnq-thumb)
(image-dired-pngcrush-thumb, image-dired-optipng-thumb)
(image-dired-thumb-queue-run, image-dired-get-exif-file-name)
(image-dired-thumbnail-set-image-description):
* lisp/image/image-dired.el (image-dired-thumbnail-storage)
(image-dired-tags-db-file)
(image-dired-rotate-original-ask-before-overwrite)
(image-dired-line-up-method, image-dired-track-movement)
(image-dired-display-properties-format)
(image-dired-external-viewer)
(image-dired-show-all-from-dir-max-files)
(image-dired-insert-image)
(image-dired-dired-with-window-configuration)
(image-dired-restore-window-configuration)
(image-dired-track-original-file)
(image-dired-toggle-movement-tracking)
(image-dired-format-properties-string)
(image-dired--on-file-in-dired-buffer)
(image-dired-thumbnail-display-external)
(image-dired-display-image, image-dired-copy-filename-as-kill):
* lisp/image/image-dired-dired.el
(image-dired-dired-toggle-marked-thumbs)
(image-dired-dired-after-readin-hook)
(image-dired-next-line-and-display)
(image-dired-previous-line-and-display)
(image-dired-mark-and-display-next, image-dired-track-thumbnail)
(image-dired-dired-next-line, image-dired-dired-previous-line)
(image-dired-dired-display-external)
(image-dired-copy-with-exif-file-name)
(image-dired-mark-tagged-files)
(image-dired-dired-display-properties):
* lisp/image/image-crop.el (image-crop-exif-rotate)
(image-crop-resize-command, image-crop-cut-command)
(image-crop-crop-command, image-crop-rotate-command)
(image-crop-buffer-text-function, image-cut-color):
* lisp/image/image-converter.el (image-converter)
(image-convert-to-format, image-converter-regexp)
(image-converter--converters, image-convert-p, image-convert)
(image-converter--value, image-converter--probe)
(image-converter--find-converter, image-converter--convert)
(image-converter-add-handler):
* lisp/image/exif.el (exif-parse-buffer, exif-field)
(exif-orientation, exif--direct-ascii-value)
(exif--process-value, exif--read-chunk, exif--read-number-be)
(exif--read-number-le, exif--read-number): Fix doc strings.

22 months ago; Improve documentation of hash functions.
Eli Zaretskii [Sat, 11 Feb 2023 10:28:43 +0000 (12:28 +0200)]
; Improve documentation of hash functions.

* src/fns.c (Fsecure_hash, Fmd5): Document the length of the
return values.

* lisp/subr.el (sha1): Describe the return value in more detail.

* doc/lispref/text.texi (Checksum/Hash): Document 'sha1'.
Document the length of the strings returned by each hashing
algorithm.

22 months ago; Remove extraneous local variables from image-dired-*.el files
Eli Zaretskii [Sat, 11 Feb 2023 09:48:48 +0000 (11:48 +0200)]
; Remove extraneous local variables from image-dired-*.el files

These cause annoying prompts when visiting these files, and evidently
belong to a third-party package.
* lisp/image/image-dired-external.el:
* lisp/image/image-dired-tags.el:
* lisp/image/image-dired-dired.el:
* lisp/image/image-dired-util.el: Remove unsafe local-variables.

22 months agobug-reference: prevent match-data clobbering (bug#61395)
Tassilo Horn [Fri, 10 Feb 2023 18:22:56 +0000 (19:22 +0100)]
bug-reference: prevent match-data clobbering (bug#61395)

* lisp/progmodes/bug-reference.el (bug-reference-fontify): Wrap call
to syntax-ppss in save-match-data since it can clobber our
match-data (bug#61395).

22 months ago; * admin/notes/tree-sitter/starter-guide: Typos.
Basil L. Contovounesios [Fri, 10 Feb 2023 15:24:45 +0000 (15:24 +0000)]
; * admin/notes/tree-sitter/starter-guide: Typos.

Reported by Romanos Skiadas <rom.skiad@gmail.com>.

22 months ago; Fix recent changes in treesit docs
Eli Zaretskii [Fri, 10 Feb 2023 12:14:05 +0000 (14:14 +0200)]
; Fix recent changes in treesit docs

* doc/lispref/parsing.texi (Accessing Node Information): Fix
wording and indexing, and add cross-reference.

22 months agoRename LIMIT to DEPTH in tree-sitter functions (bug#61231)
Yuan Fu [Fri, 10 Feb 2023 07:25:57 +0000 (23:25 -0800)]
Rename LIMIT to DEPTH in tree-sitter functions (bug#61231)

I only changed the Lisp functions, internal functions are left
unchanged.

* doc/lispref/parsing.texi (Retrieving Nodes): Update manual.
* src/treesit.c (Ftreesit_search_subtree)
(Ftreesit_induce_sparse_tree): Change LIMIT to DEPTH.

22 months ago; Fix incorrect function name in treesit manual
Simon Pugnet [Thu, 9 Feb 2023 11:33:31 +0000 (11:33 +0000)]
; Fix incorrect function name in treesit manual

An example in the documentation uses the function
'treesit-get-parser-create' which does not exist.  Replace this with
'treesit-parser-create'.

* admin/notes/tree-sitter/html-manual/Multiple-Languages.html:
* doc/lispref/parsing.texi (Multiple Languages):
Change example.

Copyright-paperwork-exempt: yes

22 months agoAdd 'live' property to treesit-node-check (bug#61235)
Yuan Fu [Mon, 6 Feb 2023 04:22:52 +0000 (20:22 -0800)]
Add 'live' property to treesit-node-check (bug#61235)

* doc/lispref/parsing.texi (Accessing Node Information): Document.
* src/treesit.c (treesit_parser_live_p): New function.
(Ftreesit_node_check): Add 'live' property.
* test/src/treesit-tests.el (treesit-node-api): Add tests.

22 months agoUpdate to Transient v0.3.7-205-gb8ad0da
Jonas Bernoulli [Thu, 9 Feb 2023 22:53:33 +0000 (23:53 +0100)]
Update to Transient v0.3.7-205-gb8ad0da

22 months agoFix 'rmail-summary-output'
Eli Zaretskii [Thu, 9 Feb 2023 15:34:19 +0000 (17:34 +0200)]
Fix 'rmail-summary-output'

* lisp/mail/rmailsum.el (rmail-summary-output): Fix deletion of
messages when 'rmail-output-reset-deleted-flag' is non-nil.
(Bug#61380)

22 months agolisp-mode: add docstring recognition for more common lisp symbols
Nicolas Martyanoff [Thu, 9 Feb 2023 10:39:14 +0000 (11:39 +0100)]
lisp-mode: add docstring recognition for more common lisp symbols

* lisp/emacs-lisp/lisp-mode.el (define-compiler-macro)
(define-setf-expander, deftype): Add the 'doc-string-elt'
property for proper docstring highlighting in Common Lisp.

22 months ago; Improve discoverability of empty file names handling
Eli Zaretskii [Thu, 9 Feb 2023 14:06:55 +0000 (16:06 +0200)]
; Improve discoverability of empty file names handling

* doc/lispref/files.texi (Relative File Names)
(Testing Accessibility, File Name Expansion): Document and index
the behavior with empty strings as file names.

22 months agoUpdate to Transient v0.3.7-204-gecff8c2
Jonas Bernoulli [Thu, 9 Feb 2023 12:28:05 +0000 (13:28 +0100)]
Update to Transient v0.3.7-204-gecff8c2

22 months agoFix Scala entry in Eglot's DB of LSP servers
Eli Zaretskii [Thu, 9 Feb 2023 10:17:18 +0000 (12:17 +0200)]
Fix Scala entry in Eglot's DB of LSP servers

* lisp/progmodes/eglot.el (eglot-server-programs): Support Scala
LSP named "metals", in addition to "metals-emacs".  (Bug#61312)

22 months agoruby-ts-mode: Also don't reindent 'identifier' when inside ERROR
Dmitry Gutov [Thu, 9 Feb 2023 02:48:25 +0000 (04:48 +0200)]
ruby-ts-mode: Also don't reindent 'identifier' when inside ERROR

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Also don't reindent 'identifier' when inside ERROR.

22 months agoruby-ts-mode: Fix indentation inside empty if/unless/case/def
Dmitry Gutov [Thu, 9 Feb 2023 02:15:41 +0000 (04:15 +0200)]
ruby-ts-mode: Fix indentation inside empty if/unless/case/def

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--indent-rules):
Add new rule.

* test/lisp/progmodes/ruby-ts-mode-tests.el
(ruby-ts-indent-empty-if-else): New test.

22 months ago* lisp/iimage.el (iimage-mode-buffer): Handle multiple regexps.
LensPlaysGames [Wed, 8 Feb 2023 18:56:48 +0000 (20:56 +0200)]
* lisp/iimage.el (iimage-mode-buffer): Handle multiple regexps.

Go to the beginning of the buffer before searching every regexp in
iimage-mode-image-regex-alist.

Copyright-paperwork-exempt: yes

22 months ago; Fix memory leak in treesit.c
Eli Zaretskii [Wed, 8 Feb 2023 16:40:50 +0000 (18:40 +0200)]
; Fix memory leak in treesit.c

* src/treesit.c (treesit_load_language): Fix a memory leak.
Reported by Eric Gillespie <epg@pretzelnet.org>.

22 months ago* lisp/edmacro.el (edit-kbd-macro): Fix thinko (bug#61333)
Stefan Monnier [Tue, 7 Feb 2023 23:10:33 +0000 (18:10 -0500)]
* lisp/edmacro.el (edit-kbd-macro): Fix thinko (bug#61333)

Backported from commit 2273cdb40e1939f7c29a669f6a64e6a27738c1a5.

22 months ago; Fix doc strings in iimage.el
Eli Zaretskii [Wed, 8 Feb 2023 12:56:42 +0000 (14:56 +0200)]
; Fix doc strings in iimage.el

* lisp/iimage.el (iimage-mode-image-regex-alist)
(iimage-modification-hook): Doc fixes.

22 months agoFix crashes inside 'xfree' called from treesit.c
Eli Zaretskii [Tue, 7 Feb 2023 19:53:05 +0000 (21:53 +0200)]
Fix crashes inside 'xfree' called from treesit.c

* src/treesit.c (treesit_load_language): Always xstrdup 'c_name',
to avoid crashes inside xfree.  (Bug#61351)

22 months agoMake java-ts-mode use the c-ts-common-indent-type-regexp-alist
Yuan Fu [Tue, 7 Feb 2023 02:48:04 +0000 (18:48 -0800)]
Make java-ts-mode use the c-ts-common-indent-type-regexp-alist

* lisp/progmodes/java-ts-mode.el:
(java-ts-mode): Setup c-ts-common-indent-type-regexp-alist.

22 months agoFix c-ts-mode indentation
Yuan Fu [Mon, 6 Feb 2023 03:32:24 +0000 (19:32 -0800)]
Fix c-ts-mode indentation

Sign, ok, there's another edge case: else if statements.  Because
"else if" is usually implemented as just another if statement nested
in the else branch, this creates additional levels that indentation
needs to ignore.

I converted c-ts-common-indent-block-type-regexp +
c-ts-common-indent-bracketless-type-regexp into a new, more flexible
variable, c-ts-common-indent-type-regexp-alist, to avoid adding yet
more variables in order to recognize else and if statements.

* lisp/progmodes/c-ts-common.el:
(c-ts-common-indent-type-regexp-alist): New variable.
(c-ts-common-indent-block-type-regexp)
(c-ts-common-indent-bracketless-type-regexp): Remove variables.
(c-ts-common--node-is): New function.
(c-ts-common-statement-offset): Use the new variable, and add the
"else if" special case.  Also merge the code of
c-ts-mode--fix-bracketless-indent, because now the code is much more
succinct.
(c-ts-mode--fix-bracketless-indent): Merge into
c-ts-common-statement-offset.

* lisp/progmodes/c-ts-mode.el:
(c-ts-base-mode): Setup c-ts-common-indent-type-regexp-alist.

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.

22 months agoFix c-ts-mode indentation
Yuan Fu [Mon, 6 Feb 2023 01:05:21 +0000 (17:05 -0800)]
Fix c-ts-mode indentation

Turns out I shouldn't have removed the explicit rules.  Anyway, now it
indents properly.

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

22 months agoFix c-ts-mode indentation (bug#61291)
Yuan Fu [Sun, 5 Feb 2023 23:20:52 +0000 (15:20 -0800)]
Fix c-ts-mode indentation (bug#61291)

Fix indentation for the semicolon in

while (str_a[i++] == str_b[j++])
  ;

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): New rule.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.

22 months ago(eglot-completion-at-point): Return correct values in :company-kind
Dmitry Gutov [Mon, 6 Feb 2023 22:28:25 +0000 (00:28 +0200)]
(eglot-completion-at-point): Return correct values in :company-kind

* lisp/progmodes/eglot.el (eglot-completion-at-point): Return the
correct values in :company-kind for "EnumMember" and "TypeParameter".
The convention is to use kebab case rather than plain downcasing.
Reported in https://github.com/company-mode/company-mode/issues/1370.

22 months agoTighten and simplify typescript compilation-mode regexps (bug#61104)
Mattias Engdegård [Mon, 6 Feb 2023 10:45:33 +0000 (11:45 +0100)]
Tighten and simplify typescript compilation-mode regexps (bug#61104)

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Tighten regexps and simplify.  Translate to rx.
* etc/compilation.txt: Add examples.

In collaboration with Jostein Kjønigsen.

22 months ago; * lisp/progmodes/c-ts-common.el (treesit-node-prev-sibling): Declare.
Eli Zaretskii [Mon, 6 Feb 2023 16:34:39 +0000 (18:34 +0200)]
; * lisp/progmodes/c-ts-common.el (treesit-node-prev-sibling): Declare.

22 months agoClarify bug-reference-auto-setup-functions docstring.
Tassilo Horn [Mon, 6 Feb 2023 16:09:40 +0000 (17:09 +0100)]
Clarify bug-reference-auto-setup-functions docstring.

* lisp/progmodes/bug-reference.el (bug-reference-auto-setup-functions):
Add clarification to docstring that this variable is for packages, not
for users.

22 months ago* lisp/treesit.el (treesit): Fix shortdoc example form (bug#61318).
Aleksandr Vityazev [Mon, 6 Feb 2023 10:39:10 +0000 (13:39 +0300)]
* lisp/treesit.el (treesit): Fix shortdoc example form (bug#61318).

22 months agoUse c-ts-common-statement-offset in java-ts-mode (bug#61142)
Theodor Thornhill [Sun, 5 Feb 2023 07:49:08 +0000 (08:49 +0100)]
Use c-ts-common-statement-offset in java-ts-mode (bug#61142)

* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): Add new
matchers to enable c-ts-common machinery.
(java-ts-mode): Add regexps.
* lisp/progmodes/c-ts-common.el (c-ts-common-statement-offset): Fix
typo in documentation and use the new if statement helpers.
(c-ts-common-if-statement-regexp): New defvar.
(c-ts-common-nestable-if-statement-p): New defvar.
(c-ts-common--fix-nestable-if-statement): New helper.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test for
complicated bracket matching indentation.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add indent
rules for bracketless statements.

22 months agoAdd array_initializer to java-ts-mode
Theodor Thornhill [Sun, 5 Feb 2023 07:24:14 +0000 (08:24 +0100)]
Add array_initializer to java-ts-mode

Indent strings inside arrray_initializer one step:

public class Java {
    void foo() {
        return new String[]{
            "foo", // These
            "bar"
        }
    }
}

* lisp/progmodes/java-ts-mode.el (java-ts-mode--indent-rules): New
matcher.

22 months agogo-ts-mode: Highlight variable declarations
Dmitry Gutov [Mon, 6 Feb 2023 02:42:12 +0000 (04:42 +0200)]
go-ts-mode: Highlight variable declarations

* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Highlight variable declarations in 'definition' feature.

22 months agogo-ts-mode: Fix highlighting of function name in call_expression
Dmitry Gutov [Mon, 6 Feb 2023 02:12:25 +0000 (04:12 +0200)]
go-ts-mode: Fix highlighting of function name in call_expression

* lisp/progmodes/go-ts-mode.el (go-ts-mode--font-lock-settings):
Remove :override from the 'property' rules and move them above
'variable' (bug#61302).  Just like in rust-ts-mode.

22 months agoc-ts-mode: Highlight "property functions" as functions
Dmitry Gutov [Mon, 6 Feb 2023 02:05:19 +0000 (04:05 +0200)]
c-ts-mode: Highlight "property functions" as functions

* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Highlight "property functions" as functions (bug#61302).

22 months agorust-ts-mode: Fix highlighting of function name in call_expression
Dmitry Gutov [Sun, 5 Feb 2023 21:42:18 +0000 (23:42 +0200)]
rust-ts-mode: Fix highlighting of function name in call_expression

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
Remove :override from the 'property' rules and move them above
'variable' (bug#61302).

22 months agorust-ts-mode--font-lock-settings: Improve consistency
Dmitry Gutov [Sun, 5 Feb 2023 19:34:12 +0000 (21:34 +0200)]
rust-ts-mode--font-lock-settings: Improve consistency

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--font-lock-settings):
Remove the rule that highlighted scope identifier in a function call
as type.  The existing rules will handle it when it does look like a
type (capitalized).

22 months agoMake sure 'M-x show-paren-local-mode' turns on right away
Dmitry Gutov [Sun, 5 Feb 2023 19:07:45 +0000 (21:07 +0200)]
Make sure 'M-x show-paren-local-mode' turns on right away

* lisp/paren.el (show-paren--enabled-p): Extract from
'show-paren-function'.
(show-paren-local-mode): Use it in the :variable getter (bug#61098).

22 months agoAdd to bug-reference-auto-setup-functions after its declaring defvar
Tassilo Horn [Sun, 5 Feb 2023 18:54:17 +0000 (19:54 +0100)]
Add to bug-reference-auto-setup-functions after its declaring defvar

If it's the init-value of the defvar, add-hook from a third-party
package will suppress the default functions if it takes place before
bug-reference is loaded.

* lisp/progmodes/bug-reference.el (bug-reference-auto-setup-functions):
Add to bug-reference-auto-setup-functions after its declaring defvar.

22 months ago* lisp/vc/vc.el (vc-find-revision-no-save): Fix parens (bug#61256).
Juri Linkov [Sun, 5 Feb 2023 18:23:57 +0000 (20:23 +0200)]
* lisp/vc/vc.el (vc-find-revision-no-save): Fix parens (bug#61256).

Move '(setq failed nil)' from UNWINDFORMS of 'unwind-protect' to BODYFORM.

22 months ago; Fix byte-compilation warning
Eli Zaretskii [Sun, 5 Feb 2023 17:10:39 +0000 (19:10 +0200)]
; Fix byte-compilation warning

* lisp/progmodes/rust-ts-mode.el (treesit-query-compile): Avoid
byte-compilation warning.

22 months agoFix inability to turn show-paren-local-mode on manually (bug#61098)
Dmitry Gutov [Sun, 5 Feb 2023 17:06:47 +0000 (19:06 +0200)]
Fix inability to turn show-paren-local-mode on manually (bug#61098)

* lisp/paren.el (show-paren-local-mode): Don't kill the local
value when both local and global are t.  Because the
show-paren-predicate check in show-paren-function also checks
whether a local (non-nil) value of this variable exists.

22 months ago; go-ts-mode--indent-rules: Indent to 0 at top level
Dmitry Gutov [Sun, 5 Feb 2023 16:52:57 +0000 (18:52 +0200)]
; go-ts-mode--indent-rules: Indent to 0 at top level

22 months agoMerge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29
Eli Zaretskii [Sun, 5 Feb 2023 16:53:36 +0000 (18:53 +0200)]
Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/emacs into emacs-29

22 months ago; Fix whitespace of last change
Eli Zaretskii [Sun, 5 Feb 2023 16:52:59 +0000 (18:52 +0200)]
; Fix whitespace of last change

22 months ago; Fix trivial mistake in emoji--choose-emoji
Jonas Bernoulli [Sun, 5 Feb 2023 16:50:10 +0000 (17:50 +0100)]
; Fix trivial mistake in emoji--choose-emoji

* lisp/international/emoji.el (emoji--choose-emoji): The derived
versions are in the cdr not cadr.

22 months ago; * lisp/isearch.el (emoji--read-emoji): Avoid compilation warning.
Eli Zaretskii [Sun, 5 Feb 2023 16:51:11 +0000 (18:51 +0200)]
; * lisp/isearch.el (emoji--read-emoji): Avoid compilation warning.

22 months agorust-ts-mode: Highlight variable declarations
Dmitry Gutov [Sun, 5 Feb 2023 16:49:24 +0000 (18:49 +0200)]
rust-ts-mode: Highlight variable declarations

(rust-ts-mode--font-lock-settings): Change scoped_type_identifier
highlight to match similar cases.  Highlight variable declarations
inside all kinds of destructuring patterns, not just function
definitions.
* lisp/progmodes/rust-ts-mode.el (rust-ts-mode--fontify-pattern):
Rename from 'rust-ts-mode--fontify-parameter'.  Check the id node's
parent to avoid touching type identifiers.

22 months agorust-ts-mode--indent-rules: Indent to 0 at top level
Dmitry Gutov [Sun, 5 Feb 2023 16:19:04 +0000 (18:19 +0200)]
rust-ts-mode--indent-rules: Indent to 0 at top level

22 months ago; Move misplaces parenthesis in emoji--choose-emoji
Jonas Bernoulli [Sun, 5 Feb 2023 16:19:15 +0000 (17:19 +0100)]
; Move misplaces parenthesis in emoji--choose-emoji

* lisp/international/emoji.el (emoji--choose-emoji): Move misplaced
parenthesis.

22 months agoEnsure upper bound of font-lock region is less than point-max
Alan Mackenzie [Sun, 5 Feb 2023 15:59:44 +0000 (15:59 +0000)]
Ensure upper bound of font-lock region is less than point-max

This fixes bug #61298.  The new long-lines code may have narrowed a buffer
before font-lock-default-fontify-region gets called.

* lisp/font-lock.el (font-lock-default-fontify-region): Set `end' to point-max
if it is greater that it.

22 months ago; * lisp/paren.el (show-paren-predicate): Doc fix. (Bug#61098)
Eli Zaretskii [Sun, 5 Feb 2023 15:27:43 +0000 (17:27 +0200)]
; * lisp/paren.el (show-paren-predicate): Doc fix.  (Bug#61098)

22 months agoHighlight more complex function parameters
Dmitry Gutov [Sun, 5 Feb 2023 14:43:59 +0000 (16:43 +0200)]
Highlight more complex function parameters

* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode--fontify-parameter): New function.
(rust-ts-mode--font-lock-settings): Use it.

22 months agoNo longer use transient in isearch-emoji-by-name
Jonas Bernoulli [Wed, 1 Feb 2023 19:25:15 +0000 (20:25 +0100)]
No longer use transient in isearch-emoji-by-name

* lisp/isearch.el (isearch-emoji-by-name): Use 'emoji--read-emoji'
and if that returns derivations, 'completing-read' to select one
of them.  This fixes bug#60740.
* lisp/international/emoji.el (emoji--init): Autoload.
(emoji--read-emoji): New function, which doesn't use transient
and returns a list of the glyph and all derivations, if any.
(emoji--choose-emoji): Use 'emoji--read-emoji'.

22 months agoMake highlighting more regular across TS modes (bug#61205)
Dmitry Gutov [Sun, 5 Feb 2023 13:46:28 +0000 (15:46 +0200)]
Make highlighting more regular across TS modes (bug#61205)

* doc/emacs/display.texi (Parser-based Font Lock):
Update description of treesit-font-lock-level, moving 'property' to
level 4.

* lisp/treesit.el (treesit-font-lock-level): Likewise, in docstring.

* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Do that here.

* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode): Add a comment.

* lisp/progmodes/go-ts-mode.el (go-ts-mode): Add 'definition' to
level 1.  Move 'function', 'property' and 'variable' to level 4.
(go-ts-mode--font-lock-settings): Move a bunch of existing rules
to 'definition'.  Add highlighting of function parameters.

* lisp/progmodes/rust-ts-mode.el (rust-ts-mode)
(rust-ts-mode--font-lock-settings): Same.  And also change "scoped
identifiers" highlights to only match capitalized names.

22 months ago; Improve documentation of 'proper-list-p'
Eli Zaretskii [Sun, 5 Feb 2023 13:15:35 +0000 (15:15 +0200)]
; Improve documentation of 'proper-list-p'

* doc/lispref/lists.texi (Cons Cells): Add cross-reference
to 'proper-list-p' documentation.

22 months agoDocument 'plistp'
Eli Zaretskii [Sun, 5 Feb 2023 12:09:35 +0000 (14:09 +0200)]
Document 'plistp'

* doc/lispref/lists.texi (Property Lists): Document 'plistp'.
(Bug#61293)

22 months agoFix display of raised/lowered composed text
Eli Zaretskii [Sun, 5 Feb 2023 11:57:10 +0000 (13:57 +0200)]
Fix display of raised/lowered composed text

* src/xdisp.c (fill_gstring_glyph_string): Adjust the base line of
the glyph string due to subscript/superscript.  (Bug#61290)

22 months agoFix installation of tree-sitter grammar on MS-Windows
Eli Zaretskii [Sun, 5 Feb 2023 09:14:25 +0000 (11:14 +0200)]
Fix installation of tree-sitter grammar on MS-Windows

* lisp/treesit.el (treesit--install-language-grammar-1): Fix a
failure on MS-Windows when the old DLL is still being used.
(Bug#61289)

22 months agoUpdate the Emacs FAQ for Emacs 29
Eli Zaretskii [Sun, 5 Feb 2023 08:50:12 +0000 (10:50 +0200)]
Update the Emacs FAQ for Emacs 29

* doc/misc/efaq.texi (New in Emacs 29, History of Emacs): Add new
section about Emacs 29.

22 months agoFix byte-compilation of *-ts-mode.el files
Eli Zaretskii [Sun, 5 Feb 2023 06:24:32 +0000 (08:24 +0200)]
Fix byte-compilation of *-ts-mode.el files

* lisp/treesit.el (treesit-font-lock-settings): Move to before
use, to prevent failure in byte-compiling modes which require this
file.  (Bug#61282)

22 months ago; ruby-ts--syntax-propertize: Amend commentary
Dmitry Gutov [Sun, 5 Feb 2023 00:42:52 +0000 (02:42 +0200)]
; ruby-ts--syntax-propertize: Amend commentary

22 months agoMake c-ts-mode-set-style's effect local (bug#61245)
Yuan Fu [Sat, 4 Feb 2023 02:35:33 +0000 (18:35 -0800)]
Make c-ts-mode-set-style's effect local (bug#61245)

Now c-ts-mode-set-style's effect is local, and there is a new function
c-ts-mode-set-global-style that changes the global setting.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-style-setter): Use c-ts-mode-set-style.
(c-ts-mode-indent-style)
(c-ts-mode--prompt-for-style): Minor change in docstring.
(c-ts-mode-set-global-style): New function (from c-ts-mode-set-style).
(c-ts-mode-set-local-style): Remove function (became c-ts-mode-set-style).
(c-ts-mode-set-style): Renamed from c-ts-mode-set-local-style.
* test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts:
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Use
c-ts-mode-set-style.

22 months ago; * lisp/treesit.el (treesit--font-lock-level-setter): Minor change.
Yuan Fu [Fri, 3 Feb 2023 02:54:49 +0000 (18:54 -0800)]
; * lisp/treesit.el (treesit--font-lock-level-setter): Minor change.

22 months agoc-ts-mode: Highlight name in parameter declarations
Dmitry Gutov [Sat, 4 Feb 2023 20:46:41 +0000 (22:46 +0200)]
c-ts-mode: Highlight name in parameter declarations

* lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings):
Uncomment parameter declaration highlighting (bug#61275).
(c-ts-mode--fontify-declarator): Check that identifier was found.
Some declarations can miss identifier name.

22 months agoFix switch statement indentation for go-ts-mode (bug#61238)
Davide Masserut [Thu, 2 Feb 2023 20:00:02 +0000 (21:00 +0100)]
Fix switch statement indentation for go-ts-mode (bug#61238)

* lisp/progmodes/go-ts-mode.el (go-ts-mode--indent-rules): Add
indentation for type switch and select case blocks
* test/lisp/progmodes/go-ts-mode-resources/indent.erts: New .erts file
to test indentation of Go constructs and prevent regression of bug
fixes.
* test/lisp/progmodes/go-ts-mode-tests.el: New file with go-ts-mode
tests.

22 months agoFix bidi reordering of sequence of whitespace characters before a TAB
Eli Zaretskii [Sat, 4 Feb 2023 11:34:42 +0000 (13:34 +0200)]
Fix bidi reordering of sequence of whitespace characters before a TAB

* src/bidi.c (bidi_level_of_next_char): Test the current level
only for characters whose original type is BN.  (Bug#61269)

22 months agoAdd tests for compilation support for TypeScript (bug#61104)
Theodor Thornhill [Fri, 3 Feb 2023 08:05:13 +0000 (09:05 +0100)]
Add tests for compilation support for TypeScript (bug#61104)

* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data): Add new test-cases.
(compile-test-error-regexps): Increase expected errors

22 months agoAdd support for TypeScript compilation to compile.el (bug#61104)
Jostein Kjønigsen [Sat, 28 Jan 2023 14:23:11 +0000 (15:23 +0100)]
Add support for TypeScript compilation to compile.el (bug#61104)

* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Add regexps.

22 months agoDon't clobber match data in 'y-or-n-p'
Eli Zaretskii [Sat, 4 Feb 2023 08:15:18 +0000 (10:15 +0200)]
Don't clobber match data in 'y-or-n-p'

* lisp/subr.el (y-or-n-p): Avoid clobbering caller's match data.
(Bug#61091)

22 months agoRefine the previous change
Dmitry Gutov [Sat, 4 Feb 2023 02:16:55 +0000 (04:16 +0200)]
Refine the previous change

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query): Fix a typo.
(ruby-ts--syntax-propertize): Use pcase-exhaustive to avoid typos.
Put the last s-t property after heredoc's end (apparently
parse-partial-sexp likes that more).  Move first s-t property on
percent literals to the very beginning (to be refined later).
Differentiate the %r{} literals from /.../ ones -- tree-sitter
parses them exactly the same.

22 months agoAdd syntax-propertize-function to ruby-ts-mode
Dmitry Gutov [Sat, 4 Feb 2023 01:34:22 +0000 (03:34 +0200)]
Add syntax-propertize-function to ruby-ts-mode

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--s-p-query):
New variable.
(ruby-ts--syntax-propertize): New function.
(ruby-ts--parser-after-change): New function.
(ruby-ts-mode): Use both of them.

22 months ago; Fix typos
Stefan Kangas [Fri, 3 Feb 2023 17:02:53 +0000 (18:02 +0100)]
; Fix typos

22 months agoImprove documentation of 'header-line-indent-mode'
Eli Zaretskii [Fri, 3 Feb 2023 14:45:56 +0000 (16:45 +0200)]
Improve documentation of 'header-line-indent-mode'

* doc/lispref/modes.texi (Header Lines): Rewrite the documentation
of 'header-line-indent-mode' and its two variables.  Fix the
example.
* doc/lispref/display.texi (Pixel Specification): More accurate
description of what happens with :align-to in header-lines.
Improve indexing.  (Bug#61239)

* src/buffer.c (syms_of_buffer) <header-line-format>:
* lisp/display-line-numbers.el (header-line-indent)
(header-line-indent-width, header-line-indent-mode): Doc fixes.

* etc/NEWS: Enhance the announcement of 'header-line-indent-mode'.

22 months agoDon't casemap erc-sasl-user when set to :nick
F. Jason Park [Fri, 3 Feb 2023 14:01:04 +0000 (06:01 -0800)]
Don't casemap erc-sasl-user when set to :nick

* lisp/erc/erc-sasl.el (erc-sasl-user): Fix doc string.
(erc-sasl--get-user): Don't apply casemapping when the option
`erc-sasl-user' is set to `:nick'.  While many servers and
auth-services providers perform case-folding when comparing SASL
usernames, only some recognize RFC1459 mappings, which ERC previously
applied blindly.  Instead, ERC now behaves like other clients in
leaving such preparation in the hands of the server.  This bug was
introduced with changes new to ERC 5.5 and Emacs 29 (bug#29108).

22 months agoImprove keymap-global-set and keymap-local-set interactive use fix
Robert Pluim [Thu, 2 Feb 2023 10:37:45 +0000 (11:37 +0100)]
Improve keymap-global-set and keymap-local-set interactive use fix

* lisp/keymap.el (keymap-global-set, keymap-local-set): Add optional
`interactive' arg and use it to decide when to convert the key
specification to a string.  Add `advertised-calling-convention'
declarations.  (Bug#61149)

22 months ago; Fix c-ts-mode indent test
Yuan Fu [Fri, 3 Feb 2023 02:30:11 +0000 (18:30 -0800)]
; Fix c-ts-mode indent test

* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Move the linux
style test case down.

22 months agoMake c-ts-mode indent tests side-effect-free
Yuan Fu [Fri, 3 Feb 2023 02:23:21 +0000 (18:23 -0800)]
Make c-ts-mode indent tests side-effect-free

Running indent tests changes the global value of
c-ts-mode-indent-style.  That's not good.  This change fixes that.

I also refactored the indent style functions a bit.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--prompt-for-style): New function.
(c-ts-mode-set-local-style): New function.
(c-ts-mode-set-style): Use c-ts-mode--prompt-for-style.  Use
derived-mode-p when testing for major mode.  Remove check of current
buffer's major mode since it doesn't matter.

* test/lisp/progmodes/c-ts-mode-resources/indent-bsd.erts:
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: Use
c-ts-mode-set-local-style to set the indent style locally.

22 months agoCall treesit_record_change in insert_from_gap_1
Yuan Fu [Fri, 3 Feb 2023 01:22:22 +0000 (17:22 -0800)]
Call treesit_record_change in insert_from_gap_1

Before this change, insert_from_gap calls treesit_record_change but
insert_from_gap_1 doesn't.  However, insert_from_gap_1 is a public
function and is called in many other places outside of insdel.c.  This
could lead to tree-sitter's parse tree becoming out-of-sync with the
buffer content.

This change might fix bug#60650.

* src/insdel.c (insert_from_gap_1): Call treesit_record_change.
(insert_from_gap): Remove call to treesit_record_change.

* admin/notes/tree-sitter/treesit_record_change: New file.

22 months agoUse c-ts-common-statement-offset for closing brackets too
Yuan Fu [Thu, 2 Feb 2023 22:57:41 +0000 (14:57 -0800)]
Use c-ts-common-statement-offset for closing brackets too

Merge c-ts-mode--close-bracket-offset into
c-ts-common-statement-offset.

* lisp/progmodes/c-ts-common.el:
(c-ts-common-statement-offset): Handle closing brackets too.
(c-ts-mode--close-bracket-offset): Remove function.
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Use
c-ts-common-statement-offset for closing brackets.

22 months ago; Go back to original point when filling comments in c-ts-mode
Yuan Fu [Thu, 2 Feb 2023 22:48:22 +0000 (14:48 -0800)]
; Go back to original point when filling comments in c-ts-mode

* lisp/progmodes/c-ts-common.el:
(c-ts-common--fill-block-comment): Go to original point.

22 months ago; Fix error where we pass t to treesit-node-type in c-ts-common.el
Yuan Fu [Thu, 2 Feb 2023 22:42:42 +0000 (14:42 -0800)]
; Fix error where we pass t to treesit-node-type in c-ts-common.el

* lisp/progmodes/c-ts-common.el:
(c-ts-common-statement-offset): Move the form that sets node to t
down, also add a check for node’s nullness.

22 months ago; * src/treesit.c (treesit_predicate_match): Simplify last change.
Eli Zaretskii [Thu, 2 Feb 2023 19:54:15 +0000 (21:54 +0200)]
; * src/treesit.c (treesit_predicate_match): Simplify last change.

22 months agoMinor improvements in sqlite.c
Eli Zaretskii [Thu, 2 Feb 2023 19:45:44 +0000 (21:45 +0200)]
Minor improvements in sqlite.c

* src/sqlite.c (Fsqlite_next): Doc fix.  Return nil if SQLITE_DONE
was once seen for this statement.  (Bug#61151)
(row_to_value): Cons the value in reverse, to avoid the Fnreverse
call.  Patch by Helmut Eller <eller.helmut@gmail.com>.
(Bug#61165)

22 months ago(treesit_predicate_match): Match node text against regexp without consing
Dmitry Gutov [Thu, 2 Feb 2023 11:32:41 +0000 (13:32 +0200)]
(treesit_predicate_match): Match node text against regexp without consing

* src/treesit.c (treesit_predicate_match): Match node text against
regexp without creating a new string object (bug#60953).

* src/search.c (search_buffer): Make not static.
Delete declaration near the beginning of the file.

* src/lisp.h: Declare it here.

* lisp/progmodes/ruby-ts-mode.el (ruby-ts--builtin-method-p):
Remove function.
(ruby-ts--font-lock-settings): Use the regexp with :match directly.

22 months agoImprove documentation of gdb-mi's dedicated windows
Eli Zaretskii [Thu, 2 Feb 2023 18:49:15 +0000 (20:49 +0200)]
Improve documentation of gdb-mi's dedicated windows

* doc/emacs/building.texi (Other GDB Buffers): Describe the I/O
buffer and commands to show individual specialized windows.
Improve indexing.

22 months agoAvoid spurious pause in kill-ring-save (Bug#60841)
Kévin Le Gouguec [Sun, 29 Jan 2023 10:23:01 +0000 (11:23 +0100)]
Avoid spurious pause in kill-ring-save (Bug#60841)

'indicate-copied-region' checks whether the region is "highlighted"
and if not, briefly moves point to mark to give a visual cue of the
extent of text that was saved to the kill ring.

The region is considered "highlighted" if (a) it is active and (b) its
face specifies a :background.  That latter condition does not account
for the multiple ways in which the face can make the region "visually
distinct" from the default face, so switch to the more extensive
predicate face-differs-from-default-p.

The patch also fixes a couple of issues with the predicate's
implementation, and introduces a new user option in case anyone
happened to enjoy unconditional blinking.

* lisp/faces.el (face-differs-from-default-p): Filter out :extend; add
rationale for the attributes we ignore.
* lisp/simple.el (copy-region-blink-predicate): Add option to let
users explicitly opt into or out of blinking point and mark.
(region-indistinguishable-p): New function to detect
"if there is currently no active region highlighting", leveraging
face-differs-from-default-p.
(indicate-copied-region): Use it.
* src/xfaces.c (merge_face_ref): Allow :stipple to be nil, since it is
a documented valid value for that attribute.
* etc/NEWS: Announce user option.

22 months agoChange the default of 'treesit-defun-tactic' for 'c-ts-mode'
Eli Zaretskii [Thu, 2 Feb 2023 18:21:02 +0000 (20:21 +0200)]
Change the default of 'treesit-defun-tactic' for 'c-ts-mode'

* lisp/progmodes/c-ts-mode.el (c-ts-mode): Set
'treesit-defun-tactic' as appropriate for C.  (Bug#61208)