1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-27 08:43:40 -07:00
Commit graph

4806 commits

Author SHA1 Message Date
Yuan Fu
bb8a46e559
Update tree-sitter manual to reflect the previous commit
* doc/lispref/modes.texi: Update manual to reflect previous change:
remove :toggle and :level, add :feature.  Document new variables and
functions.
* doc/lispref/parsing.texi: Add the missing closing bracket in
@code{(t . nil)}.
2022-10-13 15:09:51 -07:00
Yuan Fu
f0e9085a17
* doc/lispref/parsing.texi: Add manual for treesit-query-language. 2022-10-13 14:40:38 -07:00
Yuan Fu
0b3f785c4a
Better signal data for treesit-load-language-error
* src/treesit.c (ts_load_language): Better formatted signal data,
(Ftreesit_langauge_available_p): Optionally return the signal data if
language not available.
* doc/lispref/parsing.texi: Document the signal data in detail.
2022-10-12 10:38:35 -07:00
Yuan Fu
c88a1631e3
Make tree-sitter font-lock support decoration levels
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html:
Update.
* admin/notes/tree-sitter/html-manual/Parsing-Program-Source.html:
Update.
* doc/lispref/modes.texi: Mention the new :level option.
* lisp/treesit.el (treesit-font-lock-settings): Update docstring.
(treesit-font-lock-rules): Support :level.  Relayout the let form.
(treesit-font-lock-fontify-region): Support :level.
2022-10-09 17:20:28 -07:00
Yuan Fu
9f7c359f40
Add note on tree-sitter's naming convention
* admin/notes/tree-sitter/starter-guide: Add note.
* doc/lispref/parsing.texi: Add note.
2022-10-09 17:20:26 -07:00
Yuan Fu
8bc6e31502
Add a :toggle option for tree-sitter font-lock
* admin/notes/tree-sitter/html-manual/Parser_002dbased-Font-Lock.html:
Update html manual.
* admin/notes/tree-sitter/html-manual/build-manual.sh: Fix manual
path.
* admin/notes/tree-sitter/starter-guide: Mention :toggle.
* doc/lispref/modes.texi: Mention :toggle.
* lisp/treesit.el (treesit-font-lock-settings): Update docstring.
(treesit-font-lock-rules): Handle :toggle.  Also change
some wrong-type-argument signal to treesit-font-lock-error which is
easier to understand.
(treesit-font-lock-fontify-region): Handle :toggle.
2022-10-07 01:21:09 -07:00
Yuan Fu
7ebbd4efc3
Merge branch 'master' into feature/tree-sitter 2022-10-05 14:22:03 -07:00
Yuan Fu
23bb724c92
Add :override flag for tree-sitter font-lock
* doc/lispref/modes.texi (Parser-based Font Lock): Update manual.
* lisp/treesit.el (treesit-font-lock-settings): Update docstring.
(treesit-font-lock-rules): Handle :override.
(treesit-font-lock-fontify-region): Handle :override.  Also set
inhibit-point-motion-hooks to t.
2022-10-04 13:30:56 -07:00
Yuan Fu
7a4380b905
; * doc/lispref/parsing.texi (Language Definitions): Fix typo. 2022-10-04 13:30:56 -07:00
Yuan Fu
96d44c4321
Add treesit-language-version
* doc/lispref/parsing.texi (Language Definitions): Update manual.
* src/treesit.c (Ftreesit_language_version): New function
2022-10-04 13:30:56 -07:00
Yuan Fu
10f96a8c57
Improve documentation of tree-sitter search functions
* doc/lispref/parsing.texi (Retrieving Node): Update manual.
* src/treesit.c (treesit-search-subtree)
(treesit-search-forwardn)
(treesit-induce-sparse-tree): Mention case-insensitivity.
* lisp/treesit.el (treesit-simple-indent): Mention case-insensitivity.
2022-10-04 13:30:56 -07:00
Yuan Fu
9b5ecffeb0
Ignore some capture name in treesit-font-lock-fontify-region
* doc/lispref/modes.texi (Parser-based Font Lock): Update manual.
* lisp/treesit.el: (treesit-font-lock-fontify-region): Ignore names
that are not face nor function.
(treesit-font-lock-rules): Update docstring.
2022-10-04 13:30:55 -07:00
Yuan Fu
6a3caeab58
Remove treesit-query-in
Because treesit-query-capture can now do everything it does.

* doc/lispref/parsing.texi (Pattern Matching): Update manual.
* lisp/treesit.el (treesit-query-in): Remove function.
* src/treesit.c (Ftreesit_query_capture): Accept parser and language
symbol as NODE.
2022-10-04 13:30:52 -07:00
Lars Ingebrigtsen
92df7cd923 Add 'seq-keep'
* doc/lispref/sequences.texi (Sequence Functions): Document it.
* lisp/emacs-lisp/seq.el (seq-keep): New function (bug#58278).
2022-10-04 21:44:52 +02:00
Lars Ingebrigtsen
9565f45876 Move image commands to the 'i' sub map
* doc/lispref/display.texi (Showing Images): Adjust.
* lisp/image.el (image-map): Move all keys under the "i" prefix.
(image--repeat-map): New map.
(image-increase-size, image-rotate, image-decrease-size): Make
repeatable.
(image--delayed-change-size): New function.
2022-10-04 15:09:33 +02:00
Lars Ingebrigtsen
25b97474ef Mention cond/if as generalized variables in the manual
* doc/lispref/variables.texi (Setting Generalized Variables):
Mention cond and if (bug#52290).
2022-10-04 13:57:45 +02:00
Lars Ingebrigtsen
f97993ee66 Rename to inhibit-automatic-native-compilation
* src/comp.c (maybe_defer_native_compilation):
(syms_of_comp):
* lisp/subr.el (native-comp-deferred-compilation):
* lisp/startup.el (inhibit-native-compilation):
(normal-top-level):
* lisp/progmodes/elisp-mode.el (emacs-lisp-native-compile-and-load):
* lisp/emacs-lisp/comp.el (comp-trampoline-compile):
* etc/NEWS:
* doc/lispref/compile.texi (Native-Compilation Variables): Rename
inhibit-native-compilation to inhibit-automatic-native-compilation.
2022-10-03 19:50:03 +02:00
Lars Ingebrigtsen
5fec9182db Add new variable 'inhibit-native-compilation'
* doc/lispref/compile.texi (Native-Compilation Variables):
Document it.

* lisp/startup.el (normal-top-level): Set
inhibit-native-compilation from environment variable.

* lisp/subr.el (native-comp-deferred-compilation): Make obsolete.

* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Don't write
trampolines to disk.

* lisp/progmodes/elisp-mode.el
(emacs-lisp-native-compile-and-load): Adjust.

* src/comp.c (syms_of_comp): New variable
inhibit-native-compilation.
(maybe_defer_native_compilation): Use it.
2022-10-03 15:26:13 +02:00
Yuan Fu
e504eabe88
Change tree-sitter indent anchor preset 'prev-line'
* doc/lispref/modes.texi: Update manual.
* lisp/treesit.el (treesit-simple-indent-presets): Change prev-line to
mean bol of prev-line.
2022-09-30 16:54:42 -07:00
Yuan Fu
6e60d46418
Fix tree-sitter manuals
* doc/lispref/modes.texi: Fix typos, reword, etc.
* doc/lispref/parsing.texi: Fix typos, reword, etc.
2022-09-30 16:51:21 -07:00
Mattias Engdegård
16015288e1 Rectify string= documentation
* doc/lispref/strings.texi (Text Comparison): Describe the current
behaviour since about 20 years back.
2022-09-30 16:28:46 +02:00
Stefan Kangas
5281946fbf Make format-spec accept function substitutions
* lisp/format-spec.el (format-spec): Accept a function producing the
substitution for a character.
* doc/lispref/strings.texi (Custom Format Strings): Document the
above change.
* test/lisp/format-spec-tests.el (format-spec/function): New test.
Ref. https://lists.gnu.org/r/emacs-devel/2022-09/msg01875.html
2022-09-29 15:39:27 +02:00
Stefan Kangas
339945c05a Merge from origin/emacs-28
cf38e1c393 Clarify image file search
fc212364ce ; Fix typo.
2022-09-29 06:30:58 +02:00
Eli Zaretskii
cf38e1c393 Clarify image file search
* doc/lispref/display.texi (Defining Images, Image Descriptors):
* lisp/image.el (create-image): Clarify that non-absolute image
files are searched along 'image-load-path'.  (Bug#52931)
2022-09-28 22:03:27 +03:00
Stefan Monnier
b6a163ba7c * doc/lispref/functions.texi (Declare Form) <compiler-macro>: Re-rephrase 2022-09-28 14:14:32 -04:00
Stefan Monnier
1254d9a3ae * doc/lispref/functions.texi (Declare Form) <compiler-macro>: Rephrase
See bug#57397.
2022-09-28 12:28:57 -04:00
Eli Zaretskii
56f871b0e2 ; * doc/lispref/control.texi (Conditionals): Fix typo. 2022-09-28 16:59:51 +03:00
Eli Zaretskii
5d2985a035 ; * doc/lispref/control.texi (Conditionals): Fix wording. 2022-09-28 15:49:32 +03:00
Lars Ingebrigtsen
12f63c18f6 Add new macro 'while-let'
* doc/lispref/control.texi (Conditionals): Document
when-let/if-let/while-let.
* lisp/subr.el (while-let): New macro.
2022-09-28 13:19:08 +02:00
Paul Eggert
f6fb2b9e1f Port better to C23 bool+true+false keywords
C23 is adding the C++ keywords bool, true, and false;
prefer them to <stdbool.h> if they are available.
* admin/merge-gnulib (GNULIB_MODULES):
Add stdbool, which emulates C23 on pre-C23 platforms.
(AVOIDED_MODULES): Remove stdbool; Gnulib has renamed
this module to stdbool-c99 and nobody uses it so it does
not need to be avoided.
* m4/c-bool.m4: New file, from Gnulib stdbool module.
* lib-src/seccomp-filter.c, src/conf_post.h, src/dynlib.h:
* src/emacs-module.c, src/nsterm.m, src/systhread.h:
* test/src/emacs-module-resources/mod-test.c:
Use the C23 style and use bool without including <stdbool.h>.
The Gnulib stdbool module causes config.h to include stdbool.h
on pre-C23 platforms.
* src/emacs-module.h.in:
Don’t include <stdbool.h> if C23 or later, or if
it has already been included.
2022-09-28 01:09:01 -07:00
Stefan Kangas
327890dd6c Document the new "XRandR 1.5" value
* src/xfns.c (Fx_display_monitor_attributes_list):
* lisp/frame.el (display-monitor-attributes-list):
* doc/lispref/frames.texi (Multiple Terminals): Document the new
"XRandR 1.5" value.
2022-09-27 15:29:33 +02:00
Stefan Kangas
489bca19b7 Improve shortdoc documentation
* doc/emacs/help.texi (Name Help):
* doc/lispref/help.texi (Documentation Groups): Refer to
'shortdoc' convenience alias instead of 'shortdoc-display-group'.
* lisp/emacs-lisp/shortdoc.el: Add Commentary.
(shortdoc-next, shortdoc-previous)
(shortdoc-next-section, shortdoc-previous-section): Doc fixes.
2022-09-25 14:35:10 +02:00
Yuan Fu
ef6e18a6b9
Improve treesit-search-forward-goto
* doc/lispref/parsing.texi (Retrieving Node): Update manual.
* lisp/treesit.el (treesit-search-forward-goto): Instead of taking a
node, use the node at point, and make sure we make progress.
2022-09-24 21:11:31 -07:00
Yuan Fu
eba6582436
Add the treesit-search functions that supplant the removed ones
The signatures also changed.

treesit-traverse-depth-first   -> treesit-search-subtree
treesit-traverse-breadth-first ->
treesit-traverse-forward       -> treesit-search-forward
treesit-search-forward         -> treesit-search-forward-goto
treesit-search-beginning/end   -> treesit-search-forward-goto
                               -> treesit-induce-sparse-tree

* doc/lispref/parsing.texi (Retrieving Node): Add relevant manual
sections.
* lisp/treesit.el (treesit-search-forward-goto): New function.
* src/treesit.c (ts_traverse_sibling_helper)
(ts_traverse_match_predicate)
(ts_search_dfs)
(ts_search_forward)
(treesit-search-subtree)
(treesit-search-forward)
(ts_build_sparse_tree)
(Ftreesit_induce_sparse_tree): Add functions.
* test/src/treesit-tests.el (treesit-node-supplemental): Add comments.
2022-09-24 21:11:30 -07:00
Yuan Fu
c957832cbf
Remove treesit-traverse functions
Remove before adding the replacements.

* doc/lispref/parsing.texi (Retrieving Node): Remove relevant sections.
* lisp/treesit.el (treesit-traverse-depth-first)
(treesit--traverse-breadth-first-1)
(treesit-traverse-breadth-first)
(treesit-next-sibling-or-up)
(treesit-traverse-forward)
(treesit-search-forward)
(treesit-search-beginning):
(treesit-search-end): Remove functions.
(treesit-defun-query): Remove variable.
(treesit-beginning-of-defun)
(treesit-end-of-defun): Remove functions.
* test/src/treesit-tests.el: Remove comments.
2022-09-24 21:11:30 -07:00
Yuan Fu
914f68da05
; Minor tree-sitter manual fix
* doc/lispref/parsing.texi (Retrieving Node): Remove the quote.
2022-09-24 21:11:29 -07:00
Yuan Fu
c5147882a9
; Minor manual fix for tree-sitter indent
* doc/lispref/modes.texi (Parser-based Indentation): Change var to
code.
2022-09-24 21:11:29 -07:00
Lars Ingebrigtsen
bbd7059da4 Rename file-name-directory
* lisp/emacs-lisp/shortdoc.el (file-name):
* doc/lispref/files.texi (Directory Names): Adjust.
* lisp/files.el (file-name-parent-directory): Rename from
`file-name-directory' (bug#58039).
2022-09-24 12:44:44 +02:00
Stefan Kangas
7aa771a482 Merge from origin/emacs-28
60ac12d21f Fix shaping with bitmap-only fonts on HarfBuzz 5.2.0 (Bug#...
9f65e52362 ; Minor copyedits of elisp.texi
2022-09-23 14:56:54 +02:00
Eli Zaretskii
9f65e52362 ; Minor copyedits of elisp.texi
* doc/lispref/variables.texi (Setting Generalized Variables):
Improve wording.
2022-09-22 19:43:15 +03:00
Stefan Kangas
9b14e312f4 Merge from origin/emacs-28
478b786d5a ; * doc/lispref/windows.texi (Window Hooks): Fix a typo (b...
5085351645 * lisp/text-modes/tex-mode.el (tex-mode): Fix AUCTeX regre...
ee6f8598ca Add vc-annotate-switches to manual
616dcf27e5 ; Fix typos in Lisp symbols
5405852541 Remove mention of non-existent `annotate-switches'
191505b8a3 Mention that src/macuvs.h sometimes needs committing
10373c4b68 ; More comment fixes in font.h (bug#57935)
c2595b8dcc ; * src/font.h (struct font_driver): Comment fix.
97b928ce09 MacOS ld warning from native compilation (bug#57849)
2022-09-21 10:25:06 +02:00
Eli Zaretskii
478b786d5a ; * doc/lispref/windows.texi (Window Hooks): Fix a typo (bug#51930). 2022-09-20 21:22:13 +03:00
Lars Ingebrigtsen
127ab231be Attempt to clarify Input Focus documentation
* doc/lispref/frames.texi (Input Focus): Try to clarify the
documentation (bug#51862).
2022-09-20 17:12:28 +02:00
Mattias Engdegård
60102016e4 Abolish max-specpdl-size (bug#57911)
The max-lisp-eval-depth limit is sufficient to prevent unbounded stack
growth including the specbind stack; simplify matters for the user by
not having them to worry about two different limits.  This change
turns max-specpdl-size into a harmless variable with no effects,
to keep existing code happy.

* lisp/subr.el (max-specpdl-size):
Define as an ordinary (but obsolete) dynamic variable.
* admin/grammars/Makefile.in:
* doc/lispintro/emacs-lisp-intro.texi (Loops & Recursion):
* doc/lispref/control.texi (Cleanups):
* doc/lispref/edebug.texi (Checking Whether to Stop):
* doc/lispref/eval.texi (Eval):
* doc/lispref/variables.texi (Local Variables):
* doc/misc/calc.texi (Recursion Depth):
Update documentation.
* etc/NEWS: Announce.
* src/eval.c
(FletX): Use safe iteration to guard against circular bindings list.
(syms_of_eval): Remove old max-specpdl-size definition.
(init_eval_once, restore_stack_limits, call_debugger)
(signal_or_quit, grow_specpdl_allocation):
* leim/Makefile.in:
* lisp/Makefile.in:
* lisp/calc/calc-stuff.el (calc-more-recursion-depth)
(calc-less-recursion-depth):
* lisp/calc/calc.el (calc-do):
* lisp/cedet/semantic/ede-grammar.el (ede-proj-makefile-insert-rules):
* lisp/cedet/semantic/grammar.el (semantic-grammar-batch-build-one-package):
* lisp/cus-start.el (standard):
* lisp/emacs-lisp/comp.el (comp--native-compile):
* lisp/emacs-lisp/edebug.el (edebug-max-depth):
(edebug-read-and-maybe-wrap-form, edebug-default-enter):
* lisp/emacs-lisp/regexp-opt.el (regexp-opt):
* lisp/eshell/esh-mode.el (eshell-mode):
* lisp/loadup.el (max-specpdl-size):
* lisp/mh-e/mh-e.el (mh-invisible-headers):
* lisp/net/shr.el (shr-insert-document, shr-descend):
* lisp/play/hanoi.el (hanoi-internal):
* lisp/progmodes/cperl-mode.el:
* src/fileio.c (Fdo_auto_save):
Remove references to and modifications of max-specpdl-size.
2022-09-19 19:30:03 +02:00
समीर सिंह Sameer Singh
8ec7f8f169 Update Unicode support to Unicode version 15.0.0 (bug#57846)
* admin/unidata/BidiBrackets.txt
* admin/unidata/BidiMirroring.txt
* admin/unidata/Blocks.txt
* admin/unidata/IVD_Sequences.txt
* admin/unidata/IdnaMappingTable.txt
* admin/unidata/NormalizationTest.txt
* admin/unidata/PropertyValueAliases.txt
* admin/unidata/ScriptExtensions.txt
* admin/unidata/Scripts.txt
* admin/unidata/SpecialCasing.txt
* admin/unidata/UnicodeData.txt
* admin/unidata/confusables.txt
* admin/unidata/copyright.html
* admin/unidata/emoji-data.txt
* admin/unidata/emoji-sequences.txt
* admin/unidata/emoji-test.txt
* admin/unidata/emoji-zwj-sequences.txt
* test/manual/BidiCharacterTest.txt: Updated files from Unicode
15.0.

* admin/unidata/unidata-gen.el (unidata-file-alist): Add new ranges.

* lisp/international/fontset.el (script-representative-chars): Add
new scripts.
(otf-script-alist): Update from latest version.
(setup-default-fontset): Add new scripts.
* lisp/international/characters.el: Update syntax and category
tables for new characters and scripts.
(char-width-table): Update for changes in Unicode 15.0.

* test/lisp/international/ucs-normalize-tests.el
(ucs-normalize-tests--failing-lines-part1)
(ucs-normalize-tests--failing-lines-part2): Update per the test
results.

* doc/lispref/nonascii.texi (Character Properties): Update Unicode
version number.

* etc/NEWS: Announce support for Unicode 15.0.
2022-09-17 09:51:22 +03:00
Michael Albinus
2053e350f3 Enable `dont-follow' for inotify file notifications
* doc/lispref/os.texi (File Notifications): Symlinks aren't followed.

* lisp/filenotify.el (file-notify--add-watch-inotify):
Add `dont-follow' flag.

* lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
Suppress errors when reading process output.

* test/lisp/filenotify-tests.el (file-notify-test11-symlinks)
(file-notify-test11-symlinks-remote): New tests.
2022-09-16 17:23:59 +02:00
Lars Ingebrigtsen
7be7ad279e Don't use autoloaded functions for safe-local-variable
* doc/lispref/symbols.texi (Standard Properties): Clarify how
safe-local-variable should look.

* lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-lisp-words)
(checkdoc-symbol-words): Use list-of-strings-p.
(checkdoc-list-of-strings-p): Obsolete.

* lisp/vc/vc-git.el (vc-git-annotate-switches): Remove.
(vc-git-annotate-switches): Open-code the check.
2022-09-16 12:36:15 +02:00
Lars Ingebrigtsen
e0ab4e3612 Rename image-elide' to image-cut' and add more bindings
* doc/lispref/display.texi (Showing Images): Update.
* lisp/image.el (image-map): Move binding to mirror Gimp bindings.

* lisp/image/image-crop.el (image-crop-cut-command): Rename.
(image-cut-color): New user option.
(image-cut): Rename and remove prefix.
(image-crop): Remove prefix.
(image-crop--crop-image-update): Add commands to switch to
move/square modes.
2022-09-16 11:03:42 +02:00
Mattias Engdegård
cba866599c Raise default max-specpdl-size and max-lisp-eval-depth
Recent changes have caused bootstrapping to fail for certain
configurations, and it was likely getting close to the limits
for others.  This change raises the limits to those previously
used when configured for nativecomp:

  max-specpdl-size raised from 1800 to 2500
  max-lisp-eval-depth raised from 800 to 1600

* src/eval.c (init_eval_once): Raise limits.
* doc/lispref/eval.texi (Eval):
* doc/lispref/variables.texi (Local Variables): Document new values.
2022-09-14 15:59:43 +02:00
Lars Ingebrigtsen
07c0e090bd Add new commands 'image-crop' and 'image-elide'
* doc/lispref/display.texi (Showing Images): Document it.

* lisp/image.el (image-map): Bind commands.

* lisp/image/image-crop.el: New file (bug#51331).
2022-09-13 15:53:42 +02:00