diff options
author | Yuan Fu <casouri@gmail.com> | 2023-03-24 00:17:10 -0700 |
---|---|---|
committer | Yuan Fu <casouri@gmail.com> | 2023-03-24 00:18:19 -0700 |
commit | 33d436eefa16dfd4cf53bd53fdd764b2896c649c (patch) | |
tree | ab1488544e46042b45df8cf35dd3ab95b3dd15fb /src | |
parent | d93a439846f03dfb2be28d6b5c2e963ef6be0c22 (diff) | |
download | emacs-33d436eefa16dfd4cf53bd53fdd764b2896c649c.tar.gz |
Fix treesit_ensure_parsed (bug#62333)
* src/treesit.c (treesit_ensure_parsed): Check for need_reparse after
treesit_sync_visible_region runs, because as the comment says,
treesit_sync_visible_region might modify need_reparse.
Diffstat (limited to 'src')
-rw-r--r-- | src/treesit.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/treesit.c b/src/treesit.c index 5a4fe3e8803..1bb52888f4b 100644 --- a/src/treesit.c +++ b/src/treesit.c @@ -1016,11 +1016,6 @@ treesit_call_after_change_functions (TSTree *old_tree, TSTree *new_tree, static void treesit_ensure_parsed (Lisp_Object parser) { - /* Make sure this comes before everything else, see comment - (ref:notifier-inside-ensure-parsed) for more detail. */ - if (!XTS_PARSER (parser)->need_reparse) - return; - struct buffer *buffer = XBUFFER (XTS_PARSER (parser)->buffer); /* Before we parse, catch up with the narrowing situation. */ @@ -1029,6 +1024,11 @@ treesit_ensure_parsed (Lisp_Object parser) because it might set the flag to true. */ treesit_sync_visible_region (parser); + /* Make sure this comes before everything else, see comment + (ref:notifier-inside-ensure-parsed) for more detail. */ + if (!XTS_PARSER (parser)->need_reparse) + return; + TSParser *treesit_parser = XTS_PARSER (parser)->parser; TSTree *tree = XTS_PARSER (parser)->tree; TSInput input = XTS_PARSER (parser)->input; |