GNU bug report logs - #61374
30.0.50; Wrong mark-sexp with tree-sitter

Previous Next

Package: emacs;

Reported by: Ergus <spacibba <at> aol.com>

Date: Thu, 9 Feb 2023 00:21:01 UTC

Severity: normal

Found in version 30.0.50

Full log


View this message in rfc822 format

From: Theodor Thornhill <theo <at> thornhill.no>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 61374 <at> debbugs.gnu.org, spacibba <at> aol.com, casouri <at> gmail.com
Subject: bug#61374: 30.0.50; Wrong mark-sexp with tree-sitter
Date: Thu, 09 Feb 2023 10:41:52 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Theodor Thornhill <theo <at> thornhill.no>
>> Cc: 61374 <at> debbugs.gnu.org
>> Date: Thu, 09 Feb 2023 09:42:43 +0100
>> 
>> I think to remember why I decided on the current settings in
>> 'treesit-sexp-type-regexp' - compound_statement is very frequently used
>> in the c/c++ grammars, and iirc that makes sexp-moving almost always
>> move to end of the next or current compound_statement.
>
> 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.

This will happen in many places iirc.  I'm not saying it's unfixable,
just that I need to think a little about it, and some expected examples
would be nice.

Did that help?

Theo




This bug report was last modified 2 years and 183 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.