bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62333: 30.0.50; Issue with tree-sitter syntax tree during certain ch


From: Dmitry Gutov
Subject: bug#62333: 30.0.50; Issue with tree-sitter syntax tree during certain changes
Date: Sat, 25 Mar 2023 03:51:48 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0

On 24/03/2023 09:34, Yuan Fu wrote:
> Well, this is a bit embarrassing, there is even a comment warning this mistake, but anyway, I pushed a fix, once it gets merged into master, the problem should go away.

Excellent, thanks.

As things stands right now, every time blink-match-open blinks the matching 
parenthesis, tree-sitter would reparse the buffer twice, that’s not exactly 
ideal. Blink-match-open’s use of narrowing is legit, and we can’t just 
automatically widen in tree-sitter functions.

Not ideal indeed.

Aside from the performance impact, we could also see cases where the "narrowed" parse tree contains errors (due to incomplete code) which make the tree itself less useful. Especially when the narrowing's end is closer to the current position than in blink-matching-open's usage.

Not sure how to solve that, but suppose we had a way to convey to treesit.c that it shouldn't change the visibility bounds for the parser in this particular instance? Though that would raise the issue of code trying to use node positions beyond the current accessible range.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]