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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 09 Feb 2023 12:52:15 +0200

> 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?

Or am I missing the point?