1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-02 08:22:22 +00:00
Commit Graph

164198 Commits

Author SHA1 Message Date
Kyle Meyer
f4f30ff4c4 Update to Org 9.6.1 2023-01-11 21:15:37 -05:00
Theodor Thornhill
09f7a92064 Add support for annotation_type_declaration
* lisp/progmodes/java-ts-mode.el (java-ts-mode--keywords): Add new
keyword.
(java-ts-mode--font-lock-settings): Add font-locking to the type
feature.
2023-01-11 21:49:04 +01:00
Juri Linkov
4a8891a462 * etc/NEWS: Mention incompatible changes in 'outline-minor-mode-cycle-map'.
* lisp/outline.el (outline-minor-mode-cycle--bind):
Add docstring (bug#60426).
(outline-minor-mode-cycle--bind): Default 'map' to
'outline-minor-mode-cycle-map'.
(outline-minor-mode-cycle-map): Improve docstring.
(outline-minor-mode): Move margin-cycling keys to
'outline-minor-mode-cycle-map'.
2023-01-11 21:37:33 +02:00
Philip Kaludercic
384504edf3 Ensure VC package names are not empty
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Raise an error
if the package name is empty.
(package-vc-install): Avoid generating an empty file name, if a URL
ends with a slash, and raise an error if the package name is empty.
2023-01-11 09:28:40 +01:00
Philip Kaludercic
70947da708 Handle missing package description when unpacking vc packages
* lisp/emacs-lisp/package-vc.el (package-vc--unpack): Create a dummy
descriptor if PKG-DESC is nil.
2023-01-11 09:28:40 +01:00
Alan Mackenzie
1cbc22b9c7 CC Mode: partially revert commit from 2022-10-04
This reversion is of an ill-advised optimization, which resulted in non-type
identifiers getting fontified as types.

* lisp/progmodes/cc-fonts.el (c-fontify-new-found-type): Rather than writing
the expected face directly to the text, instead remove the `fontified'
property.  This allows the full font-lock mechanism to fontify the buffer
correctly.
2023-01-10 20:29:37 +00:00
Manuel Uberti
136c027221 Fix reftex-citation docstring (bug#60710)
* lisp/textmodes/reftex-cite.el (reftex-citation): Fix spelling.
2023-01-10 19:02:04 +02:00
Robert Pluim
64fe6bdb61 Improve 'describe-char-fold-equivalences' docstring
* lisp/char-fold.el (describe-char-fold-equivalences): Explain what
the output looks like.
2023-01-10 17:23:57 +01:00
F. Jason Park
fda1ad4a9e Remove obsolete server buffers on MOTD in erc-track
* lisp/erc/erc-networks.el
(erc-networks--copy-server-buffer-functions): New internal hook
through which modules can perform housekeeping when server buffers
belonging to the same network context are merged.
(erc-networks--copy-over-server-buffer-contents): Run new internal
hook `erc-networks--copy-server-buffer-functions'.
* lisp/erc/erc-track.el (erc-track-enable, erc-track-disable): Manage
membership in `erc-networks--copy-server-buffer-functions' hook.
(erc-track--replace-killed-buffer): New function to replace server
buffer being killed in `erc-modified-channels-alist'.
* test/lisp/erc/erc-scenarios-base-association.el
(erc-scenarios-networks-merge-server-track): New test.
* test/lisp/erc/resources/networks/merge-server/track.eld: New test
data.  (Bug#60560.)
2023-01-10 06:34:01 -08:00
F. Jason Park
bb98666d03 ; Fix wrong type in erc-ignore hide-list options
* lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list):
Fix type in custom definition.
2023-01-10 06:34:01 -08:00
F. Jason Park
c267cd0151 ; Kill some stray buffers left behind by ERC tests
* test/lisp/erc/erc-services-tests.el
(erc--auth-source-search--plstore-standard,
erc--auth-source-search--plstore-announced,
erc--auth-source-search--plstore-overrides): Kill buffer renamed by
plstore.  In the future, try using the `:buffer' keyword introduced in
Emacs 29.
* test/lisp/erc/resources/erc-d/erc-d-t.el
(erc-d-t-kill-related-buffers): Don't forget about `erc-dcc-chat-mode'
buffers.
2023-01-10 06:34:01 -08:00
Manuel Uberti
f31e65694c Fix completion-auto-help docstring (bug#60709)
* lisp/minibuffer.el (completion-auto-help): Remove extra period.
2023-01-10 16:23:32 +02:00
Yuan Fu
55aabfea4a
Fix c-ts-mode comment indent
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--comment-2nd-line-matcher): Also make sure PARENT is a
comment node.
2023-01-09 21:46:07 -08:00
Yuan Fu
8377ed5298
Highlight identifier in import statements in js-ts-mode
Follow-up on bug#60689.  This commit just copied the change in
e385c099b8 to js-ts-mode.

* lisp/progmodes/js.el:
(js--treesit-font-lock-settings): Add import query.
2023-01-09 21:31:38 -08:00
Yuan Fu
aa9df1260c
Don't print named tree-sitter nodes with parenthesizes (bug#60696)
* src/print.c (print_vectorlike): Use empty string as delimiters if
the node is named.
2023-01-09 20:15:12 -08:00
Jostein Kjønigsen
e385c099b8
Improve fontification for import-statements in typescript-ts-mode
(bug#60689)

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): Add rules to highlight the
actual imports in import-statements.
2023-01-09 20:06:06 -08:00
Yuan Fu
28dd602138
Fix c-ts-mode indentation for 2nd line in block comment (bug#60270)
If the first line is "/*" or "/*   ", indent like this:

/*
   aaa

If the first line is "/*   some text", indent like this:

/*   some text
     aaa

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles):
(c-ts-mode--looking-at-star): Minor refactor.
(c-ts-mode--comment-2nd-line-matcher)
(c-ts-mode--comment-2nd-line-anchor): New functions.
* lisp/treesit.el (treesit-simple-indent-presets):
prev-adaptive-prefix doesn't handle the comment-start-skip case (i.e,
2nd line) anymore.  (Handled by the new matcher.)
2023-01-09 20:06:05 -08:00
Dmitry Gutov
8a36a0f44a ; xref.el: Bump version 2023-01-10 02:07:12 +02:00
Dmitry Gutov
f16cc7c49c ; project.el: Bump version 2023-01-10 02:07:12 +02:00
Eli Zaretskii
ebc5263667 ; * src/callint.c (Finteractive): Doc string clarification. 2023-01-09 14:03:04 +02:00
Juri Linkov
c1401d1c6c * lisp/vc/diff-mode.el (diff-font-lock-keywords): Check for limit.
This check is necessary since 'diff-beginning-of-hunk' can move
not only backwards, but also forwards (bug#60660).
2023-01-09 09:54:19 +02:00
Yuan Fu
1f8ad353d9
Minor improvement for tree-sitter explorer
If you open an empty python buffer and type

1 + 2
a
b

Currently the explorer only displays the top-level node at point, ie,
only 1 + 2, only a, or only b. That's kind of awkward, so if the
buffer is small, show the entire parse tree.

* lisp/treesit.el (treesit--explorer-refresh): See above.
2023-01-08 21:22:28 -08:00
Yuan Fu
ef87c75566
Make sure NODE is not the root node in tree-sitter indent (bug#60602)
There are two possible ways to solve the problem raised in the bug
report: either make sure NODE is never the root (so that parent is
never nil), or allow parent to be nil.

If we go with the latter, a lot of matcher and anchor functions need
change (they need to guard against a null parent).  I tried it, and
needing to check for null parent is pretty annoying.  In comparison,
if NODE is never the root, it is very convenient for the user, and it
doesn't complicate the rule that much (and it's rather intuitive,
people usually don't think of the case where NODE is the root node).
So that's what I choose.

* doc/lispref/modes.texi (Parser-based Indentation): Update manual.
* lisp/treesit.el (treesit-indent-function): Update docstring.
(treesit--indent-1): Make sure NODE is not the root.
2023-01-08 21:22:06 -08:00
Yuan Fu
1238fa8e49
Fix label indent of GNU and Linux style in c-ts-mode (bug#60543)
The previous fix isn't correct.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--indent-styles): New indent rule.  Fix the rule for Linux
style.
(c-ts-mode--top-level-label-matcher): New function.
2023-01-08 20:32:51 -08:00
Evgeni Kolev
dc911e4ba5
Improve go-ts-mode Imenu, navigation and electric pair (bug#60407)
The Imenu items are extended to support "Method", "Struct",
"Interface", "Alias" and "Type".

go-ts-mode is updated to use the Imenu facility added in commit
b39dc7ab27.

Variable electric-indent-chars is set in order to improve integration
with Electric Pair mode.

* lisp/progmodes/go-ts-mode.el (go-ts-mode--imenu-1) (go-ts-mode--imenu):
Remove functions.
(go-ts-mode--defun-name, go-ts-mode--interface-node-p)
(go-ts-mode--struct-node-p, go-ts-mode--other-type-node-p)
(go-ts-mode--alias-node-p): New functions.
(go-ts-mode): Improve Imenu settings, navigation, add Electric Pair
mode settings.
2023-01-08 20:32:51 -08:00
Dmitry Gutov
20f36c8f6f ; ruby.rb: Fix pattern matching syntax and extend the example 2023-01-09 00:57:36 +02:00
Yuan Fu
d46f7f4edc
Revert "Add c-or-c++-ts-mode (bug#59613)"
This reverts commit 1df2826639.

I forgot about the feature freeze, sorry :-)
2023-01-08 09:43:42 -08:00
Tad Fisher
1469aac20d ; * src/pgtkfns.c (parse_resource_key): Use recursive schema lookup
XDG_DATA_DIRS may consist of multiple directories, and
g_settings_schema_source_get_default composes these into a recursive
schema source. One must pass TRUE to g_settings_schema_source_lookup,
otherwise only the first directory in XDG_DATA_DIRS is searched.

It follows that in the case that the directory containing the compiled
GSettings schema for Emacs is not the first in XDG_DATA_DIRS,
parse_resource_key will not accept any resource key, which causes
pgtk_get_defaults_value and pgtk_set_defaults_value to fail.

This impacts systems that compose multiple GSettings schema sources
via XDG_DATA_DIRS, such Flatpak and NixOS.

Supporting GIO documentation for g_settings_schema_source_get_default:

> The returned source may actually consist of multiple schema sources
> from different directories, depending on which directories were given
> in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
> lookups performed against the default source should probably be done
> recursively.

Bug#60565

Copyright-paperwork-exempt: yes
2023-01-08 13:48:25 +02:00
Benson Chu
da96a1fd74 Add back renamed function 'font-lock-fontify-syntactically-region'
A more accurate replacement for font-lock-fontify-syntactically-region
would be a function that funcalls the
font-lock-fontify-syntactically-function variable. That way, callers
of the function can inherit new behavior, if the value of that variable
changes.

* lisp/font-lock.el (font-lock-fontify-syntactically-region):
Add function back, remove its obsolete alias.

Copyright-paperwork-exempt: yes
2023-01-08 13:43:19 +02:00
Eli Zaretskii
b1aa720671 ; * lisp/progmodes/ruby-ts-mode.el: Fix compilation warnings (bug#60647). 2023-01-08 12:56:13 +02:00
Eli Zaretskii
5cb01ac5d7 ; * src/callint.c (Finteractive): Fix the doc string (bug#60645). 2023-01-08 12:43:56 +02:00
Eli Zaretskii
53e64cfb85 Improve options and docs of M-x command completion
* lisp/simple.el (read-extended-command-predicate): Expand the
doc string.  Add 2 more selectable values.
(command-completion-using-modes-and-keymaps-p): New function.
(execute-extended-command): Mention
'read-extended-command-predicate' in the doc string.  (Bug#60645)
2023-01-08 12:23:26 +02:00
Michael Albinus
fef4f18cc3 ; Fix NEWS 2023-01-08 10:56:06 +01:00
Kyle Meyer
e04b3d41bb Update to Org 9.6-90-ga6523f 2023-01-07 23:50:54 -05:00
Yuan Fu
e3d806b417
Fix string fontification on python-ts-mode (bug#60599)
* lisp/progmodes/python.el:
(python--treesit-fontify-string): Generalize and skip anything
before the first quote character.
2023-01-07 18:44:17 -08:00
Yuan Fu
800e15e3be
Fix string-interpolation feature of python-ts-mode (bug#60599)
* lisp/progmodes/python.el:
(python--treesit-fontify-string-interpolation): New function.
(python--treesit-settings): Use the new function for
string-interpolation.
2023-01-07 18:44:17 -08:00
Theodor Thornhill
38b63f4c3c
Add indentation rule for concatenated_string (bug#60572)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent to
parent-bol.
2023-01-07 18:44:17 -08:00
Jostein Kjønigsen
2cdd75a18f
Fix highlighting of variable-declarations in typescript-ts-mode
(bug#60546)

- Highlight variable declarations in catch-clauses.
- Remove highlighting of variables where not declarations (improve
  consistency with other *-ts-modes).

* lisp/progmodes/typescript-ts-mode.el:
(typescript-ts-mode--font-lock-settings): See above.
2023-01-07 18:44:16 -08:00
Yuan Fu
73168793c0
Fix label indentation for Linux style in c-ts-mode (bug#60543)
Reference:
1. https://www.gnu.org/software/indent/manual/indent/Common-styles.html
2. https://www.gnu.org/software/indent/manual/indent/Option-Summary.html

The GNU indent manual says Linux style should use -il1 flag, which
means "indent labels to column 1".

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Indent label
to column 1 in Linux style.
2023-01-07 18:44:16 -08:00
Yuan Fu
8575043f56
Remove duplicate entries in c-ts-mode's Imenu
Right now the Class subindex includes top-level functions, which is
wrong. This change ensures the Class subindex only contain classes and
functions nested in those classes.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--defun-for-class-in-imenu-p): New function.
* lisp/progmodes/c-ts-mode.el (c-ts-base-mode): Use the new function.
2023-01-07 18:44:16 -08:00
Yuan Fu
ef7f3c6388
Fix use of treesit-ready-p in c/c++-ts-mode
* lisp/progmodes/c-ts-mode.el:
(c-ts-mode)
(c++-ts-mode): Put setup code in a when form.
2023-01-07 18:44:16 -08:00
Yuan Fu
cc1de953d4
; * lisp/progmodes/gud.el (gud-tooltip-modes): Add ts- modes.
Prompted by bug#60463.
2023-01-07 18:44:16 -08:00
Yuan Fu
16f1e47ca8
; * lisp/align.el (align-c++-modes): Add c/c++-ts-mode.
This fixes bug#60463.
2023-01-07 18:44:16 -08:00
Yuan Fu
508389ad2b
Add documentation for c/c++-ts-mode (bug#60443)
Explain that tree-sitter c modes and cc-mode c modes don't share
config variables.

* lisp/progmodes/c-ts-mode.el (c-ts-mode)
(c++-ts-mode): Update docstring.
2023-01-07 18:44:15 -08:00
Dmitry Gutov
ee3e8d3f92 (ruby-ts--font-lock-settings): Improve highlighting in patterns
* lisp/progmodes/ruby-ts-mode.el (ruby-ts--font-lock-settings):
Improve highlighting in patterns: highlight values not keys as
variable in the usual case; highlight keys when no value;
highlight the "as pattern" variable.
2023-01-08 03:59:36 +02:00
Yuan Fu
614f8c431d
Optionally include the namespace in c-ts-mode--declarator-identifier
This is an additional fix for bug#60397.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--declarator-identifier): New parameter QUALIFIED.
(c-ts-mode--defun-name): Use qualified identifier.
2023-01-07 16:14:22 -08:00
Yuan Fu
7c356934fb
Support namespaces in c++-ts-mode (bug#60397)
Not a complete fix.  See the next commit.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Add rules.
(c-ts-mode--defun-name): Add namespace_definition.
(c-ts-base-mode): Add namespace_definition to
treesit-defun-type-regexp.
2023-01-07 16:14:12 -08:00
Yuan Fu
757c2c2592
Fix c-ts-mode--looking-at-star
Not the topic of bug#60270 but reported in one of the replies.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--looking-at-star): Check not
the character after point but character after BOL. Otherwise
indentation is wrong when point is not at BOL.
2023-01-07 16:09:40 -08:00
Yuan Fu
1df2826639
Add c-or-c++-ts-mode (bug#59613)
* lisp/progmodes/c-ts-mode.el
(c-ts-mode--c-or-c++-regexp): New variable.
(c-or-c++-ts-mode): New mode.
* etc/NEWS: Mention c-or-c++-ts-mode.
2023-01-07 16:09:40 -08:00
Eli Zaretskii
0cb686ffb6 Document the 'definition-name' property.
* doc/lispref/symbols.texi (Standard Properties): Document
'definition-name'.
* doc/lispref/functions.texi (Defining Functions): Describe how to
use 'definition-name' when generating function definitions at run
time.  (Bug#60568)
2023-01-07 19:57:30 +02:00