1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-27 15:52:00 -08:00
Commit graph

10845 commits

Author SHA1 Message Date
Michael Albinus
ec105a45c9 Add remote-file-name-inhibit-delete-by-moving-to-trash
* doc/emacs/files.texi (Misc File Ops):
* doc/lispref/files.texi (Changing Files):
* doc/misc/tramp.texi (Frequently Asked Questions):
* etc/NEWS: Explain remote-file-name-inhibit-delete-by-moving-to-trash.

* lisp/files.el (remote-file-name-inhibit-delete-by-moving-to-trash):
New defcustom.  (Bug#60460)

* lisp/net/ange-ftp.el (ange-ftp-delete-file):
* lisp/net/tramp.el (tramp-skeleton-delete-directory):
Handle `remote-file-name-inhibit-delete-by-moving-to-trash'.
(tramp-skeleton-delete-file): New defmacro.

* lisp/net/tramp-adb.el (tramp-adb-handle-delete-file):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-delete-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-delete-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-file): Use it.

* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
(tramp-crypt-handle-delete-file): Rearrange.

* lisp/net/tramp-fuse.el (tramp-fuse-handle-delete-directory):
Use `tramp-skeleton-delete-directory'.

* test/lisp/net/tramp-tests.el
(remote-file-name-inhibit-delete-by-moving-to-trash): Declare.
(tramp-test07-file-exists-p, tramp-test14-delete-directory)
(tramp-test48-unload): Extend tests.
2023-01-08 19:24:17 +01:00
Michael Albinus
0be40fbe43 Add new Tramp method "toolbox"
* doc/misc/tramp.texi (Inline methods): Add toolbox.

* etc/NEWS: Add new Tramp method "toolbox".

* lisp/net/tramp-container.el (tramp-toolbox-program): New defcustom.
(tramp-toolbox-method): New defconst.
(tramp-toolbox--completion-function): New defun.  Set it for "toolbox".
(tramp-methods) <toolbox>: Add.
(tramp-default-host-alist): Add rule for "toolbox".
2023-01-07 12:14:26 +01:00
Paul Eggert
9e98ff562b Update from Gnulib by running admin/merge-gnulib 2023-01-06 18:05:57 -08:00
Michael Albinus
6602ec3abc Remove Emacs 26 compatibility from Tramp
* doc/misc/tramp.texi (Remote processes): Don't mention Emacs version.
(Frequently Asked Questions): Adapt supported Emacs versions.

* doc/misc/trampver.texi:
* lisp/net/trampver.el: Change version to "2.7.0-pre".

* lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
(tramp-compat-file-name-quote, tramp-compat-file-name-unquote)
(tramp-compat-tramp-syntax, tramp-compat-exec-path)
(tramp-compat-time-equal-p, tramp-compat-flatten-tree)
(tramp-compat-progress-reporter-update)
(tramp-compat-ignore-error, tramp-compat-rx--transform-item)
(tramp-compat-rx--transform, tramp-compat-rx): Remove.

* lisp/net/tramp-adb.el:
* lisp/net/tramp-archive.el:
* lisp/net/tramp-cache.el:
* lisp/net/tramp-cmds.el:
* lisp/net/tramp-crypt.el:
* lisp/net/tramp-fuse.el:
* lisp/net/tramp-gvfs.el:
* lisp/net/tramp-integration.el:
* lisp/net/tramp-rclone.el:
* lisp/net/tramp-sh.el:
* lisp/net/tramp-smb.el:
* lisp/net/tramp-sshfs.el:
* lisp/net/tramp-sudoedit.el:
* lisp/net/tramp.el:
* lisp/net/trampver.el: Replace the removed `tramp-compat-*' items
by their real definition.  Don't use `tramp-compat-funcall' when
not needed.  Remove `with-no-warnings' and `ignore-errors' where
appropriate.

* lisp/net/tramp.el (tramp-file-name-for-operation): Rearrange list.
(tramp-handle-file-newer-than-file-p): Simplify.
(tramp-get-process-attributes): Don't check for existence of
`connection-local-criteria-for-default-directory'.
(tramp-handle-shell-command): Don't check for existence of
`shell-command-save-pos-or-erase', `async-shell-command-width' and
`shell-command-set-point-after-cmd'.
(tramp-handle-start-file-process): Call `make-process' directly.
(tramp-defined-time): New defsubst.
(tramp-get-local-gid): Don't check for existence of `group-name'.

* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times):
Use `tramp-defined-time'.
(tramp-adb-get-signal-strings): Don't bind `shell-file-name' and
`shell-command-switch'.

* lisp/net/tramp-archive.el (top, tramp-archive-file-name-handler):
Don't bind `max-specpdl-size' any longer.
(tramp-archive-autoload-file-name-regexp): Remove Emacs 26
specific code.
(top): Don't call `tramp-register-archive-autoload-file-name-handler'.

* lisp/net/tramp-gvfs.el (top): Don't bind `max-specpdl-size' any longer.
(tramp-gvfs-handle-set-file-times): Use `tramp-defined-time'.

* lisp/net/tramp-sh.el (tramp-sh-handle-set-file-times):
Use `tramp-defined-time'.

* test/lisp/net/tramp-archive-tests.el (tramp-archive--test-emacs27-p):
Remove.
(all):
* test/lisp/net/tramp-tests.el (all): Don't skip for Emacs 26.
Replace the removed `tramp-compat-*' items by their real
definition.  Don't use `tramp-compat-funcall' when not needed.
Remove `with-no-warnings' and `ignore-errors' where appropriate.
(with-connection-local-variables)
(shell-command-dont-erase-buffer): Don't declare.
(tramp-test10-write-region): Don't check for `make-empty-file'.
(tramp-test32-shell-command): Simplify.
(tramp-test34-explicit-shell-file-name): Don't protect
`explicit-shell-file-name' any longer.
(tramp--test-emacs27-p): Remove.
2023-01-06 13:34:33 +01:00
Stefan Kangas
e1b2446b2e Merge from origin/emacs-29
92f753dc19 ; * etc/NEWS: Fix wording in last change.
cef875f6c5 ; * etc/NEWS: Instructions for builds without tree-sitter...
8d530ca654 ; Fix documentation of y-or-n-p/yes-or-no-p
c18878ee0a Fix bug in Tramp multi-hop
7eed8e050a * lisp/files.el (find-sibling-rules): Fix docstring.
6b5831c696 Tree-sitter doc fixes (bug#60524)
651927ac39 ; Fix function reference in comment in c-ts-mode.el (bug#...
c786afcbb9 Fontify C++ function definitions in c-ts-mode (bug#60529)

# Conflicts:
#	etc/NEWS
2023-01-05 06:30:20 +01:00
Juri Linkov
6b5831c696 Tree-sitter doc fixes (bug#60524)
* doc/lispref/modes.texi (Parser-based Font Lock):
Replace :lang with :language.

* doc/lispref/parsing.texi (Language Grammar): Replace
treesit-load-suffixes with dynamic-library-suffixes.
(Retrieving Nodes): Fix function names.
(Tree-sitter Major Modes): Fix treesit-ready-p args.
Fix pxref to Parser-based Indentation.
(Tree-sitter C API): Fix function names.

* lisp/treesit.el (treesit--simple-indent-eval): Remove cond BODY
duplicated from CONDITION.
(treesit)<define-short-documentation-group>: Fix function names.
2023-01-04 09:57:06 +02:00
Stefan Kangas
1ddd31bf98 Merge from origin/emacs-29
0d98fac6bb (ruby-ts-add-log-current-function): Fix when between two ...
da69f116bf ; * doc/lispref/positions.texi (List Motion): Minor wordi...
0b0eae0bf7 ; Improve documentation of 'treesit-language-source-alist'
ae0d218d0b ; * etc/NEWS: Mention treesit-install-language-grammar.
de3df3bc51 * lisp/vc/vc-git.el (vc-git-checkin): Pass vc-git-diff-sw...

# Conflicts:
#	etc/NEWS
2023-01-04 06:30:13 +01:00
Eli Zaretskii
da69f116bf ; * doc/lispref/positions.texi (List Motion): Minor wording fix. 2023-01-03 15:16:42 +02:00
Stefan Kangas
55e41707ea Merge from origin/emacs-29
6dd3e352f4 Extract common code into ruby-base-mode to derive from
94e330243e ruby-ts-mode: Indentation fixes
9b24417dda ruby-ts--font-lock-settings: Use more standard faces
9e6536e4d9 ruby-ts-mode: Standardize the string literal highlights
1a9a1fdebf Improve fontification in java-ts-mode (bug#60492)
dfdf9c21cb Fontification improvements in typescript-ts-mode (bug#60500)
68e68dfeef Improve fontification consistency in js-ts-mode (bug#60503)
aef869e74f ; Update tree-sitter manual
4ef12cfb1f ; Fix tree-sitter manual title case
aab8ddca5e ; nt/INSTALL: Update for Emacs 29.
809fbb0e8c ; Update copyright notice in tramp-sh.el
f8f5202487 (typescript/tsx-ts-mode): Split font-lock feature list in...
a86a213e1a js-ts-mode: Move 'string-interpolation' to font-lock level 3
d26b523886 Fix shrinking of the tab-bar
3f7ea621b9 ; Fix typos in ruby-ts-mode.el
9599b05431 ; Skip ruby-ts tests if grammar is not available
ff35ac9dfa Fix default-port regression in erc-select-read-args
b7ad0b4014 ; Clarify doc strings of 'call-process' and 'call-process...
2023-01-03 06:30:17 +01:00
Yuan Fu
aef869e74f
; Update tree-sitter manual
* doc/lispref/positions.texi (List Motion): Replace
treesit-defun-prefer-top-level with treesit-defun-tactic.
2023-01-02 14:25:54 -08:00
Yuan Fu
4ef12cfb1f
; Fix tree-sitter manual title case
* doc/lispref/elisp.texi:
* doc/lispref/modes.texi:
* doc/lispref/parsing.texi: Change to title case.
2023-01-02 14:25:54 -08:00
Paul Eggert
2ee6012b3f Improve interactive file-saving performance
* src/fileio.c (init_fileio):
No longer any need to set write-region-inhibit-fsync here.
(syms_of_fileio): Default write-region-inhibit-fsync to t (Bug#60474).
2023-01-02 11:29:06 -08:00
Stefan Kangas
c209802f7b Merge from origin/emacs-29
4520f09dd8 ; * admin/git-bisect-start: Update failing commits
2569ede9c4 Update to Org 9.6-81-g563a43
d9ed736f0a ruby-ts-mode: Remove some currently unused functions
4561844720 ruby-ts-mode: Highlight singleton method definitions and ...
0562006da3 Add ruby-ts-mode
84e7c2fbc8 Fix fontification of C++ reference return types (bug#60441)
1864b65af6 ; Minor fix for treesit--install-language-grammar-1 (bug#...
8994f87ad4 Adjust function-call fontification in csharp-ts-mode (bug...
411647a3f6 ; Fix NEWS.
7b0b17df67 Rewrite Antinews in ELisp manual for Emacs 29
f12f72b0e0 ; * lisp/simple.el (primitive-undo): Clarify error messag...
7fd822e7f5 Update Antinews in the user manual for Emacs 29
da77d70dee ; * test/lisp/emacs-lisp/copyright-tests.el: Fix and futu...
2baf9e107c Fix shortdoc-tests failure with respect to regexp-opt-cha...
5aeb8de32e ; Fix copyright years in 2 more files.

# Conflicts:
#	etc/NEWS
2023-01-02 12:06:37 +01:00
Eli Zaretskii
411647a3f6 ; Fix NEWS. 2023-01-01 19:38:24 +02:00
Eli Zaretskii
7b0b17df67 Rewrite Antinews in ELisp manual for Emacs 29
* doc/lispref/anti.texi (Antinews): Rewrite for Emacs 29.
* doc/lispref/elisp.texi (Top): Update the top-level menu for
Antinews.
2023-01-01 19:37:22 +02:00
Eli Zaretskii
7fd822e7f5 Update Antinews in the user manual for Emacs 29
* doc/emacs/anti.texi (Antinews): Rewrite for Emacs 29.
* doc/emacs/emacs.texi (Top): Adjust the top-level menu.
2023-01-01 17:38:23 +02:00
Protesilaos Stavrou
4e4a808eca
Update Modus themes to version 4 and add new themes
* etc/NEWS: Document the addition of four new Modus themes.

* doc/misc/modus-themes.org: Update the manual.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el: Add theme files.

* etc/themes/modus-themes.el: Update main file to the latest version.

Detailed release notes here:
<https://protesilaos.com/codelog/2023-01-01-modus-themes-4-0-0/>.

The inclusion of the four new Modus themes was discussed on
emacs-devel:
<https://lists.gnu.org/archive/html/emacs-devel/2022-12/msg00834.html>.
2023-01-01 14:14:09 +02:00
Eli Zaretskii
3c55fbd4ad Merge from origin/emacs-29
cae528457c ; Add 2023 to copyright years.
b394359261 Improve documentation of 'isearch-open-overlay-temporary'
ab3210e709 Document 'use-package' in the 2 main manuals

# Conflicts:
#	etc/refcards/ru-refcard.tex
#	lib/explicit_bzero.c
#	m4/explicit_bzero.m4
2023-01-01 05:47:47 -05:00
Eli Zaretskii
861d3db634 Merge from origin/emacs-29
72a81e2022 ; * lisp/treesit.el (treesit-simple-indent-presets): Fix t...
ddfeee3e8a Build recipe interactively in treesit-install-language-gra...
6837469780 ; Add REVISION to treesit-language-source-alist
0dc788aa01 ; Remove GRAMMAR-DIR from treesit-language-source-alist
f9aef67c36 Tweak csharp-mode font-lock-settings (bug#60376)
46362c0a3a ; * doc/lispref/tips.texi (Documentation Tips): Add indexing.
9a386b682e Revert a recent change which causes errors
9871ee8b14 ; More fixes for documentation of 'defalias'
f309651b67 ; Fix handling of 'not' by 'buffer-match-p'
9292f595a7 ; Fix typos
43c7e05a2a Fix misspelled functions in shortdoc groups
01acecc79c Simplify introduction of use-package manual
2a7e072e53 ; Fix documentation of 'defalias'
eee2aeca25 Fix python-shell-buffer-substring when retrieving a single...
bfdad6c4e5 ; Fix recent treesit-related changes
2023-01-01 05:46:24 -05:00
Eli Zaretskii
cae528457c ; Add 2023 to copyright years. 2023-01-01 05:31:12 -05:00
Eli Zaretskii
ab3210e709 Document 'use-package' in the 2 main manuals
* doc/emacs/custom.texi (Init Examples):
* doc/lispref/loading.texi (Named Features): Document 'use-package'
and its most important features.
2023-01-01 10:38:11 +02:00
Eli Zaretskii
46362c0a3a ; * doc/lispref/tips.texi (Documentation Tips): Add indexing. 2022-12-31 18:47:51 +02:00
Eli Zaretskii
9871ee8b14 ; More fixes for documentation of 'defalias'
* doc/lispref/functions.texi (Defining Functions): Document
other possible values of DEFINITION in a defalias.
(Bug#60432)
2022-12-31 17:01:22 +02:00
Philip Kaludercic
f309651b67 ; Fix handling of 'not' by 'buffer-match-p'
* lisp/subr.el (buffer-match-p): Look up the cadr instead of the cdr
for the negation in 'not'.
* doc/lispref/buffers.texi (Buffer List): Update documentation.
(Bug#58951)
2022-12-31 15:05:56 +01:00
Stefan Kangas
9292f595a7 ; Fix typos 2022-12-31 12:43:32 +01:00
Kévin Le Gouguec
01acecc79c Simplify introduction of use-package manual
* doc/misc/use-package.texi (Getting Started): Do not advise requiring
the package, since the macro is autoloaded; also correct the macro's
name.  (Bug#60366)
2022-12-31 10:48:48 +01:00
Eli Zaretskii
2a7e072e53 ; Fix documentation of 'defalias'
* doc/lispref/functions.texi (Defining Functions): Document that a
defalias's DEFINITION can be a macro.  (Bug#60432)
2022-12-31 10:44:53 +02:00
Eli Zaretskii
bfdad6c4e5 ; Fix recent treesit-related changes
* lisp/treesit.el (treesit-language-source-alist)
(treesit--install-language-grammar-1): Doc fixes.

* src/treesit.c (Ftreesit_language_abi_version): Fix a typo in
function's Lisp name.  Doc fix.
(Ftreesit_language_available_p): Fix a typo in the function's C
name.

* doc/lispref/parsing.texi (Language Grammar): Fix wording.
2022-12-31 10:13:15 +02:00
Stefan Kangas
2ec4e187c9 Merge from origin/emacs-29
ab1f245f1a Show tree-sitter query source when signaling query error
0b58ea0e60 ; * lisp/treesit.el (treesit--install-language-grammar-1)...
724da28763 Add version tags and mention the new options in NEWS
8675f4136c Add new options for Ruby code indentation
4922de626f ; Fix doc strings of 'treesit-install-language-grammar'
69b2aaaade ; Fix recently modified docs of 'set-face-attribute' (bug...
0248fc9e1a Add treesit-install-language-grammar
0237c5927e Add treesit-language-abi-version
312f82d36f Change "language definition" to "language grammar" in man...
fba35657da ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
dec1b37a32 ; * doc/lispref/parsing.texi (Accessing Node Information)...
39265abf0c * test/lisp/net/tramp-tests.el (tramp-test32-shell-comman...
ebf65c7e7e * lisp/eshell/em-tramp.el (tramp): Require also at runtim...

# Conflicts:
#	etc/NEWS
2022-12-31 06:30:21 +01:00
Eli Zaretskii
69b2aaaade ; Fix recently modified docs of 'set-face-attribute' (bug#52493)
* doc/lispref/display.texi (Attribute Functions): Clarify wording
and restore removed information about resetting attributes to
'unspecified' for future frames.

* lisp/faces.el (set-face-attribute): Minor copyedit of doc
string.
2022-12-30 16:43:38 +02:00
Yuan Fu
0237c5927e
Add treesit-language-abi-version
Also rename treesit-language-version to treesit-library-abi-version,
because the old name is somewhat misleading.

* doc/lispref/parsing.texi (Language Grammar): Update.
* src/treesit.c (Ftreesit_library_abi_version): Rename.
(Ftreesit_language_abi_version): New function.
2022-12-30 02:54:13 -08:00
Yuan Fu
312f82d36f
Change "language definition" to "language grammar" in manual.
"Language grammar" is apparently the more widely used term among
people talking about tree-sitter.  To avoid confusion, I think it's
good to use that rather than "language definition", which is a term
that I made up :-)

Feel free to revert this if it is too much change.

* doc/lispref/elisp.texi:
* doc/lispref/modes.texi:
* doc/lispref/parsing.texi:
* lisp/treesit.el: Change "language definition" to "language grammar".
2022-12-30 00:47:22 -08:00
Yuan Fu
dec1b37a32
; * doc/lispref/parsing.texi (Accessing Node Information): Fix typo. 2022-12-30 00:35:14 -08:00
Stefan Kangas
89e7bb230d Merge from origin/emacs-29
644c71d678 lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (...
ab38abfdf7 lisp/textmodes/bibtex.el: Treat $ as punctuation in BibTe...
d086cd6cf8 Clarify the documentation of 'set-face-attribute'
dafa6d6bad Handle non-string values in pcomplete
beed746f94 Fix completion when completion-auto-select is set
7ccb88486e ; * etc/DEBUG: Update MS-Windows specifics for GDB 13 and...
558b59d81b Add color fontification in css-ts-mode (bug#60405)
a96a7c8115 ; * lisp/textmodes/css-mode.el (css-ts-mode): Fix imenu s...
793641a3db ; * lisp/progmodes/js.el: Fix byte-compile warning.
0aea1cf819 * lisp/hi-lock.el (hi-lock--regexps-at-point): Fix bug (b...
60418e6f09 * src/keyboard.c (echo_add_key): Use recently rebound C-h...
706ed85285 Avoid assertion violations in treesit.c with --enable-che...
38c35bf0f6 Clean up treesit-default-defun-skipper and add comments
9371d488be Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
9d814bea46 ; whitespace.el: Use the new 'ert-with-buffer-selected' i...
784e509bde Fix c-ts-mode bracket indentation (bug#60398)
2022-12-30 06:45:13 +01:00
Paul Eggert
9153cf8158 Avoid some obsolescent tz abbrevs in doc. 2022-12-29 21:32:16 -08:00
Paul Eggert
523261b454 Document calc-time-zone abbreviation obsolescence
* doc/misc/calc.texi (Time Zones): Document that alphabetic
time zone abbreviations are obsolescent and in some cases wrong.
2022-12-29 21:32:16 -08:00
Gregory Heytings
d086cd6cf8 Clarify the documentation of 'set-face-attribute'
* lisp/faces.el (set-face-attribute): Mention the evaluation order
of attribute-value pairs in the docstring.

* doc/lispref/display.texi (Attribute Functions): Likewise, and
explain with an example that a different argument order might give
different results.  Also align the documentation in the manual
with that of the docstring, whose changes were discussed in
bug#57499 but not included in the manual.
2022-12-29 23:43:34 +01:00
Stefan Kangas
d9d90666f5 Merge from origin/emacs-29
909091d757 ; Minor cleanup for tree-sitter font-lock rules in js-ts-...
e78e69b331 Clean up font-lock rules in js-ts-mode
0a61e4e2b7 ; * doc/lispref/parsing.texi (Using Parser): Minor improv...
398ed75c27 ; * lisp/progmodes/c-ts-mode.el (c-ts-mode--fill-paragrap...
19b8733aa2 Fix syntax for < and > in c++-ts-mode (bug#60351)
f509246ba1 Call tree-sitter parser notifier on the first parse
ec6feeaa19 Fix tree-sitter parser notifier recursion
2022-12-29 06:30:09 +01:00
Yuan Fu
0a61e4e2b7
; * doc/lispref/parsing.texi (Using Parser): Minor improvement. 2022-12-28 15:54:51 -08:00
Stefan Kangas
dce6791e99 Merge from origin/emacs-29
db96b1282f * lisp/help.el: Use 'C-h C-q' to toggle 'help-quick' wind...
489865c21e ; Improve markup of long key sequences
d42c2668cf ; * etc/NEWS: Fix wording of a recently edited entry.
7a0eaee198 * lisp/isearch.el: Small fixes.
b69bffeec0 * lisp/vc/diff-mode.el (diff-minor-mode-prefix): Replace ...
9263847ab7 ; * etc/NEWS: Move the paragraph with 'C-u RET' closer to...
62fb2dc37d * doc/emacs/display.texi (Text Scale): Improve section ab...
70480d3b6b * lisp/repeat.el (repeat-echo-function): Suggest 'add-fun...
fd48201ffe * lisp/tab-line.el (tab-line-cache-key-default): More cac...
b164660260 * etc/package-keyring.gpg: Update with new key
c0be51389e ; Yet another declare-function to avoid treesit-related w...
8676bec51d ; * lisp/treesit.el (treesit--simple-imenu-1): Doc fix; w...
2ddc480f44 Warn of absent networks module in ERC
19d00fab9a Avoid "already compiled" warning in erc-compat
2d8f7b66bc ; Fix one more treesit byte-compilation warning.
2d0a921486 ; Avoid treesit-related byte-compiler warnings
8503b370be (python--treesit-settings): Remove duplicate matcher
b464e6c490 Make last change of w32 GUI dialogs conditional and rever...
eedc9d79ae Fix tree-sitter typos
248c13dcfe Update tree-sitter major modes to use the new Imenu facility
b39dc7ab27 Add tree-sitter helper functions for Imenu
ba1ddea9da Fix treesit--things-around (bug#60355)
7512b9025a ; * lisp/treesit.el (treesit-traverse-parent): Remove alias.
5326b04198 Improve treesit-node-top-level and treesit-parent-until
637f5b164f ; Add "src" to the heuristic sub-directory heuristic
8ab6df0c9f ; * lisp/epa-ks.el (epa-ks-do-key-to-fetch): Fix 'when' u...
2b55a48d3e * src/w32menu.c (simple_dialog_show): Use MB_YESNOCANCEL ...
8b8b791567 ; Improve documentation of TAB/SPC indentation
624e382211 ; Improve doc strings of some new faces
41f12e1019 ; * lisp/elide-head.el (elide-head): Doc fix to silence c...
e3b4cd0ac1 ; * lisp/htmlfontify.el (hfy-text-p): Fix whitespace.
1b4dc4691c Fix htmlfontify.el command injection vulnerability.
1fe4b98b4d Improve support for Scheme R6RS and R7RS libraries (bug#5...
2347f37f67 ; * test/src/treesit-tests.el: remove dead store (bytecom...
a6d961ae2f Add a new tree-sitter query predicate 'pred'
835a80dcc4 ; Fix tree-sitter defun tests
a14821d615 Improve gnutls-min-prime-bits docstring
b14bbd108e Improve handling of tab-bar height.
669160d47b ; * nt/INSTALL.W64: More fixes and updates.
26b2ec7cb8 Simplify last change (bug#60311)
082fc6e308 Fix 'json-available-p' on MS-Windows
6c86faec29 loaddefs-gen: Group results by absolute file name
d90d7d15f2 ; Fix vindexes in parsing.texi
eb26872837 Fix imenu for c-ts-mode (bug#60296)
8f68b6497e Clean up python-ts-mode font-lock features
28f26b11a1 Add comment indent and filling to other tree-sitter major...
c6b0282645 ; Remove unused function in c-ts-mode
6e52a9fcad ; * doc/lispref/modes.texi (Parser-based Font Lock): Mino...
2bcd1e9a99 ; * doc/lispref/parsing.texi (Retrieving Nodes): Add notice.
7c7950fe00 Add maintainer stub for tree-sitter files
cf32776622 ; * doc/lispref/parsing.texi (Using Parser): Remove delet...

# Conflicts:
#	etc/NEWS
#	lisp/progmodes/c-ts-mode.el
#	lisp/progmodes/typescript-ts-mode.el
#	lisp/treesit.el
2022-12-28 21:40:59 +01:00
Eli Zaretskii
489865c21e ; Improve markup of long key sequences
* doc/emacs/display.texi (Text Scale): Avoid breaking key
sequences between lines by using @w{..}.
2022-12-28 20:33:58 +02:00
Juri Linkov
62fb2dc37d * doc/emacs/display.texi (Text Scale): Improve section about repeating keys.
Mention that it's possible to use repeating keys without the modifiers
and copy an example from etc/NEWS.
2022-12-28 20:06:18 +02:00
F. Jason Park
2ddc480f44 Warn of absent networks module in ERC
* doc/misc/erc.texi: Add linkable note in Modules chapter about some
modules being required.  Also tweak markup in auth-source section.
* etc/ERC-NEWS: Mention the special role of `networks'.
* lisp/erc/erc-backend.el (erc--server-post-connect-hook): Add
internal hook for core modules to perform post-network-process,
pre-protocol config validation even when they haven't been loaded.
(erc--register-connection): Run `erc--server-post-connect-hook'.
* lisp/erc/erc-networks.el (erc-networks--bouncer-targets,
erc-networks-on-MOTD-end): Fix comments and doc strings.  Also change
former from constant to internal variable in case adjustment needed
between releases.
(erc-networks--warn-on-connect): New function to warn about the
`networks' module being absent from `erc-modules'.  This could
probably run at any time up to and including when the logical IRC
connection is established, but doing so at the process/protocol
boundary seems ideal.
* lisp/erc/erc-sasl.el (erc--register-connection): Defer to base
method instead of calling `erc-login' explicitly.
* lisp/erc/erc.el (erc-generate-new-buffer-name): Don't reconcile
buffer names when networks module not in play.
(erc-format-target-and/or-network): Don't assume networks module
loaded.
* test/lisp/erc/erc-scenarios-base-unstable.el:
(erc-scenarios-networks-no-module): New test.
* test/lisp/erc/resources/networks/no-module/basic.eld: New test data
file.  (Bug#60331.)
2022-12-28 06:51:38 -08:00
Yuan Fu
eedc9d79ae
Fix tree-sitter typos
* doc/lispref/parsing.texi (Tree-sitter major modes):
* lisp/progmodes/java-ts-mode.el:
* test/src/treesit-tests.el (treesit-defun-navigation-nested-4): Fix
typo.
2022-12-28 00:32:37 -08:00
Yuan Fu
b39dc7ab27
Add tree-sitter helper functions for Imenu
We didn't add an integration for Imenu because we aren't sure what
should it look like.  Now we have a pretty good idea.  All the major
modes copy-paste the two Imenu functions and tweaks them in a standard
way.  With the addition of treesit-defun-type-regexp and
treesit-defun-name-function, now is a good time to standardize Imenu
integration.

In the next commit we update all the major modes to use this
integration.

* doc/lispref/modes.texi (Imenu): Add manual.
* doc/lispref/parsing.texi (Tree-sitter major modes): Update manual.
* lisp/treesit.el (treesit-simple-imenu-settings): New varaible.
(treesit--simple-imenu-1)
(treesit-simple-imenu): New functions.
(treesit-major-mode-setup): Setup Imenu.
2022-12-27 20:37:29 -08:00
Yuan Fu
a6d961ae2f
Add a new tree-sitter query predicate 'pred'
I realized that using an arbitrary function as the predicate in
queries is very helpful for some queries I'm writing for python and
javascript, and presumably most other languages[1].

Granted, we can already filter out unwanted nodes by using a function
instead of a face for the capture name, and (1) determine whether the
captured node is valid and (2) fontify that node if it's valid.

However, such approach is a bit more cumbersome and more importantly
gets in the way of another potential use of the fontification queries:
context extraction.

For example, I could use the query for the 'variable' feature to get
all the variables in a certain region.  In this use-case, we want the
filtering happen before returning the captured nodes.

Besides, the change is relatively small and straightforward: most code
are already there, I just need to add some boilerplate.

[1] For a code like aa.bb(cc), we want bb to be in function face,
because obviously its a function.  But for aa.bb, we want bb to be in
property face, because it's a property.  In the AST, bb is always a
property, the difference between the two cases is the enclosing node:
in the first case, aa.bb is in a "call_expression" node, indicating
that bb is used as a function (a method).  So we want a predicate
function that checks whether bb is used as a function or a property,
and determine whether it should be in function or property face.

* doc/lispref/parsing.texi (Pattern Matching): Update manual.
* src/treesit.c (Ftreesit_pattern_expand): Handle :pred.
(treesit_predicate_capture_name_to_node): A new function extracted
from treesit_predicate_capture_name_to_text.
(treesit_predicate_capture_name_to_text): Use the newly extracted
function.
(treesit_predicate_pred): New predicate function.
(treesit_eval_predicates): Add new predicate.  Also fix a bug: we want
to AND the results of each predicate.
* test/src/treesit-tests.el (treesit--ert-pred-last-sibling): New
helper function.
(treesit-query-api): Test #pred predicate.
2022-12-26 17:50:14 -08:00
Yuan Fu
d90d7d15f2
; Fix vindexes in parsing.texi
* doc/lispref/parsing.texi (Tree-sitter major modes): Replace vindex
with cross-reference to modes.texi.  Add manual entry for
treesit-defun-type-regexp.
* lisp/treesit.el (treesit-defun-type-regexp): Use pred in docstring
since we use pred everywhere else.
2022-12-26 01:47:56 -08:00
Yuan Fu
6e52a9fcad
; * doc/lispref/modes.texi (Parser-based Font Lock): Minor fixes. 2022-12-26 01:47:55 -08:00
Yuan Fu
2bcd1e9a99
; * doc/lispref/parsing.texi (Retrieving Nodes): Add notice. 2022-12-26 01:47:55 -08:00
Yuan Fu
cf32776622
; * doc/lispref/parsing.texi (Using Parser): Remove deleted function. 2022-12-26 01:47:54 -08:00