aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2024-06-30 10:06:09 +0800
committerPo Lu2024-06-30 10:06:09 +0800
commite2561e267fd2eb37b140a293baec79096f03290b (patch)
tree937291ce231a708b51541bbce5f76151b344a0e0 /src
parentf0f883da4b410c606b46b61c80b874ead08335ea (diff)
parent72cf9964f3c0fd63332884b8145399f1784de7f1 (diff)
downloademacs-e2561e267fd2eb37b140a293baec79096f03290b.tar.gz
emacs-e2561e267fd2eb37b140a293baec79096f03290b.zip
Merge from savannah/emacs-30
72cf9964f3c Inaccuracy in efaq.texi fc48e9e8ed5 ; Fix typos in DOS Makefile scripts 9b8d754579f ; * etc/NEWS: Explain Nextstep. 8819e5a45d5 Fix treesit crash (bug#71681) eaf2dc96c1f ; Fix SHR test on MS-Windows 57880f597c5 Delete redundant mention of `with-eval-after-load' ea8ce984342 * doc/misc/efaq.texi (New in Emacs 30): Fix typos. 45a20d781a9 ; Fix typos in symbols d95f039af43 Document security fixes in FAQ d063af203c8 Add "New in Emacs 30" to FAQ ca6b484162b ; * etc/NEWS: Move "Minibuffer and Completions" 35c46663e49 ; * etc/NEWS: Move item to "Lisp Changes". 0515b38d289 ; * etc/NEWS: Move keyboard macro items closer together. 22af3a71039 ; * etc/NEWS: More copy-edits. 000ef8876ae ; * etc/NEWS: Move items to "Incompatible Lisp Changes". 4088dc8e4ce ; * etc/NEWS: Rearrange "Incompatible Lisp Changes". 179800f36bb ; * lisp/epg.el (epg--start): Add commentary about encoding. 73898f0214c Fix non-ASCII filename operatiion on EasyPG (bug#71500) a65b6aac6b5 Silence warning with global minor mode :predicate f5f7343ac41 ; * etc/NEWS: Move an item to "Startup Changes" c95066bf188 ; * etc/NEWS: Move some Lisp items to better place. bf7db88ce1f ; * etc/NEWS: Rearrange "Editing Changes in Emacs 30.1" 000424eb9eb ; * etc/NEWS: Make touch screen support more prominent. 5b5671587fb ; * etc/NEWS: Rearrange "Changes in Emacs 30.1". 31124abdefe ; * lisp/thingatpt.el (sexp-at-point): Doc fix (bug#71777). 44f269d6e60 Fix: make 'xwidget-webkit-scroll-backward' scroll backwards 358085997c6 Merge branch 'emacs-30' of git.savannah.gnu.org:/srv/git/... 736b7cad406 Add jsdoc support to php-ts-mode in <script> element 5f3d964e397 Update to Transient v0.7.2-4-gf75bc48d # Conflicts: # etc/NEWS
Diffstat (limited to 'src')
-rw-r--r--src/treesit.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/treesit.c b/src/treesit.c
index 54b16eb1bb3..f0c786e921d 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -846,7 +846,6 @@ treesit_record_change (ptrdiff_t start_byte, ptrdiff_t old_end_byte,
846 treesit_tree_edit_1 (tree, start_offset, old_end_offset, 846 treesit_tree_edit_1 (tree, start_offset, old_end_offset,
847 new_end_offset); 847 new_end_offset);
848 XTS_PARSER (lisp_parser)->need_reparse = true; 848 XTS_PARSER (lisp_parser)->need_reparse = true;
849 XTS_PARSER (lisp_parser)->timestamp++;
850 849
851 /* VISIBLE_BEG/END records tree-sitter's range of view in 850 /* VISIBLE_BEG/END records tree-sitter's range of view in
852 the buffer. We need to adjust them when tree-sitter's 851 the buffer. We need to adjust them when tree-sitter's
@@ -948,10 +947,7 @@ treesit_sync_visible_region (Lisp_Object parser)
948 this function is called), we need to reparse. */ 947 this function is called), we need to reparse. */
949 if (visible_beg != BUF_BEGV_BYTE (buffer) 948 if (visible_beg != BUF_BEGV_BYTE (buffer)
950 || visible_end != BUF_ZV_BYTE (buffer)) 949 || visible_end != BUF_ZV_BYTE (buffer))
951 { 950 XTS_PARSER (parser)->need_reparse = true;
952 XTS_PARSER (parser)->need_reparse = true;
953 XTS_PARSER (parser)->timestamp++;
954 }
955 951
956 /* Before we parse or set ranges, catch up with the narrowing 952 /* Before we parse or set ranges, catch up with the narrowing
957 situation. We change visible_beg and visible_end to match 953 situation. We change visible_beg and visible_end to match
@@ -1090,6 +1086,7 @@ treesit_ensure_parsed (Lisp_Object parser)
1090 1086
1091 XTS_PARSER (parser)->tree = new_tree; 1087 XTS_PARSER (parser)->tree = new_tree;
1092 XTS_PARSER (parser)->need_reparse = false; 1088 XTS_PARSER (parser)->need_reparse = false;
1089 XTS_PARSER (parser)->timestamp++;
1093 1090
1094 /* After-change functions should run at the very end, most crucially 1091 /* After-change functions should run at the very end, most crucially
1095 after need_reparse is set to false, this way if the function 1092 after need_reparse is set to false, this way if the function
@@ -1725,7 +1722,6 @@ buffer. */)
1725 ranges); 1722 ranges);
1726 1723
1727 XTS_PARSER (parser)->need_reparse = true; 1724 XTS_PARSER (parser)->need_reparse = true;
1728 XTS_PARSER (parser)->timestamp++;
1729 return Qnil; 1725 return Qnil;
1730} 1726}
1731 1727
@@ -2923,11 +2919,10 @@ be completely in the region.
2923 2919
2924If NODE-ONLY is non-nil, return a list of nodes. 2920If NODE-ONLY is non-nil, return a list of nodes.
2925 2921
2926Besides a node, NODE can also be a parser, in which case the root node 2922Besides a node, NODE can be a parser, in which case the root node of
2927of that parser is used. 2923that parser is used. NODE can also be a language symbol, in which case
2928NODE can also be a language symbol, in which case the root node of a 2924the root node of a parser for that language is used. If such a parser
2929parser for that language is used. If such a parser doesn't exist, it 2925doesn't exist, it is created.
2930is created.
2931 2926
2932Signal `treesit-query-error' if QUERY is malformed or something else 2927Signal `treesit-query-error' if QUERY is malformed or something else
2933goes wrong. You can use `treesit-query-validate' to validate and debug 2928goes wrong. You can use `treesit-query-validate' to validate and debug
@@ -2941,8 +2936,13 @@ the query. */)
2941 2936
2942 treesit_initialize (); 2937 treesit_initialize ();
2943 2938
2944 /* Resolve NODE into an actual node. */ 2939 /* Resolve NODE into an actual node, signals if node not
2940 up-to-date. */
2945 Lisp_Object lisp_node = treesit_resolve_node (node); 2941 Lisp_Object lisp_node = treesit_resolve_node (node);
2942 /* As of right now, the node returned by treesit_resolve_node always
2943 passes treesit_check_node; but it might not be true in the future,
2944 so adding the line below just to be safe. */
2945 treesit_check_node (node);
2946 2946
2947 /* Extract C values from Lisp objects. */ 2947 /* Extract C values from Lisp objects. */
2948 TSNode treesit_node = XTS_NODE (lisp_node)->node; 2948 TSNode treesit_node = XTS_NODE (lisp_node)->node;
@@ -2970,8 +2970,8 @@ the query. */)
2970 &signal_symbol, &signal_data)) 2970 &signal_symbol, &signal_data))
2971 xsignal (signal_symbol, signal_data); 2971 xsignal (signal_symbol, signal_data);
2972 2972
2973 /* WARN: After this point, free TREESIT_QUERY and CURSOR before every 2973 /* WARN: After this point, if NEEDS_TO_FREE_QUERY_AND_CURSOR is true,
2974 signal and return if NEEDS_TO_FREE_QUERY_AND_CURSOR is true. */ 2974 free TREESIT_QUERY and CURSOR before every signal and return. */
2975 2975
2976 /* Set query range. */ 2976 /* Set query range. */
2977 if (!NILP (beg) && !NILP (end)) 2977 if (!NILP (beg) && !NILP (end))