1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-26 15:10:50 -08:00
Commit graph

164140 commits

Author SHA1 Message Date
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
Eli Zaretskii
7f855b5297 ; Fix description of etc/DOC
* doc/lispref/help.texi (Accessing Documentation): Doc strings of
preloaded symbols are no longer in etc/DOC.
2023-01-07 19:16:47 +02:00
Eli Zaretskii
e9341119fe ; Fix documentation of etc/DOC
* doc/lispref/help.texi (Documentation Basics): Doc strings of
preloaded symbols are no longer in etc/DOC.
2023-01-07 15:25:11 +02:00
Dmitry Gutov
86a3462e3d (treesit-simple-indent-presets): Do that for 'or' as well.
* lisp/treesit.el
(treesit-simple-indent-presets): Do that for 'or' as well.
2023-01-07 13:16:56 +02:00
Eli Zaretskii
e0fef510b0 ; Minor rewording of tree-sitter terminology
* doc/lispref/parsing.texi (Retrieving Nodes): Minor rewording.
(Bug#60555)
2023-01-07 11:25:52 +02:00
kobarity
f58452e3ae Fix 'python-shell-buffer-substring' when START is in middle of 1st line
* lisp/progmodes/python.el (python-shell-buffer-substring): Instead
of checking whether START is point-min, check whether START is in
the first line.  (Bug#60466)
* test/lisp/progmodes/python-tests.el
(python-shell-buffer-substring-18): New test.
2023-01-07 10:57:38 +02:00
Eli Zaretskii
7f9588685a ; Fix last change
* doc/emacs/misc.texi (Saving Emacs Sessions): Minor rewording and
rearrangements.  (Bug#60600)
2023-01-07 10:47:44 +02:00
Manuel Giraud
e8b85f225d Rearrange the "Saving Emacs Sessions" section of the user manual
* doc/emacs/misc.texi (Saving Emacs Sessions): Organize this
node more logically with main behavior and important features
near the top.   (Bug#60600)
2023-01-07 10:23:31 +02:00
Dmitry Gutov
9d410f8de6 (treesit-simple-indent-presets): Ensure 'and' works for anchors too
* lisp/treesit.el (treesit-simple-indent-presets):
Rewrite to return the last successful evaluation, not just t.
2023-01-07 03:28:38 +02:00