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

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

bug#65885: Acknowledgement (29.1.50; wrong behaviour of treesit-beginnin


From: Eli Zaretskii
Subject: bug#65885: Acknowledgement (29.1.50; wrong behaviour of treesit-beginning-of-defun in c++-ts-mode)
Date: Tue, 12 Sep 2023 15:27:35 +0300

> Date: Tue, 12 Sep 2023 12:41:32 +0800
> From:  Yang Yingchao via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> 
> It seams that there is an issue with the behavior of 
> `treesit-beginning-of-defun` function in
> `c++-ts-mode` when there are static variables present in the source code. For 
> instance, in the
> provided code snippet, if the cursor is initially placed on the line 
> containing `int b`, and the
> "C-M-a" is pressed, the cursor is positioned on line 4 instead of line 1 
> where the beginning of
> the function is located.
> 
> ,----
> | void func           // c-ts-mode: treesit-beginning-of-defun stops in this 
> line,   RIGHT
> | {
> |   char * msg;
> |   static int a; // c++-ts-mode: treesit-beginning-of-defun stops in this 
> line, WRONG
> |   int b;        // PUT CUSOR HERE
> | }
> `----
> 
> it works in c-ts-mode works normally.

If you want c++-ts-mode to work like c-ts-mode, set
treesit-defun-tactic to 'top-level'.  By default, we try to support
nested defuns in C++, but not in C.





reply via email to

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