Subject: bug#61374: 30.0.50; Wrong mark-sexp with tree-sitter

From: Theodor Thornhill <[email-masked]>
Date: Thu, 09 Feb 2023 12:08:49 +0100

Eli Zaretskii <[email-masked]> writes:

>> From: Theodor Thornhill <[email-masked]>
>> Cc: [email-masked], [email-masked], [email-masked]
>> Date: Thu, 09 Feb 2023 10:41:52 +0100
>> 
>> > Can you show some examples that illustrate these issues?  I'm not sure
>> > I follow your line of reasoning, and thus cannot understand the
>> > relevant considerations and decisions, and their expected effects on
>> > behavior.
>> >
>> > Thanks.
>> 
>> 
>> consider same code as in the first mail:
>> 
>> {
>>   vector<int> myvar;
>> }
>> 
>> 
>> If point is before the first curly, C-M-f will move to after the semi.
>> 
>> 
>> if "compound_statement" is added to the regexps, it will move to after
>> the closing curly - all good.
>> 
>> Now if point is at the c in 'vector', now we will also move to after the
>> closing curly, not the first space or after the semi.
>
> Sounds like the treesit sexp movement doesn't have any notion of the
> "level" of the sexp or something?  IOW, it doesn't know about the
> "innermost" sexp at point?  If so, can we teach treesit.el about that?
>

Yes, I think we should too.  I'll look into it.

> Or am I missing the point?

Nope, don't think so!

Theo