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

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

bug#68652: 29.1.50; treesit defun commands broken near beginning of func


From: Yuan Fu
Subject: bug#68652: 29.1.50; treesit defun commands broken near beginning of function
Date: Sat, 27 Jan 2024 19:55:52 -0800

> On Jan 27, 2024, at 2:40 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Troy Brown <brownts@troybrown.dev>
>> Date: Sun, 21 Jan 2024 23:47:08 -0500
>> 
>> I've noticed that "defun" related treesit commands/functions do not
>> appear to work correctly near the beginning of a function.  I've seen
>> this behavior in multiple languages and believe the problem is an issue
>> in the treesit.el library.  Also, I believe the issue occurs on the
>> first token of the function definition.  The following example uses
>> c-ts-mode to demonstrate the issue.
>> 
>> --8<---------------cut here---------------start------------->8---
>> // -*- mode: c-ts -*-
>> 
>> void previous (void);
>> void next (void);
>> 
>> void previous (void) {
>> }
>> 
>> void main (void) {
>>  previous();
>>  next();
>>  printf("Hello, world!\n");
>> }
>> 
>> void next (void) {
>> }
>> --8<---------------cut here---------------end--------------->8---
>> 
>> To reproduce the issue, place point between the "o" and "i" of the
>> "void" return type for the "main" function.  When point is at this
>> location, I've noticed incorrect behavior for the following commands:
>> 
>> M-x treesit-beginning-of-defun RET
>> 
>> Moves point to the beginning of the previous function instead of the
>> beginning of the current (i.e., "main") function.
>> 
>> M-x treesit-end-of-defun RET
>> 
>> This does not move point, when it should move to the end of the current
>> function.
>> 
>> I've also noticed functions, such as "treesit-defun-at-point" behave
>> incorrectly here as well (i.e., returns "nil" instead of the function
>> definition node).
> 
> This seems to be already fixed on the master branch, so I think we can
> close this bug.
> 
> Yuan, any comments?

I just tried it and yeah it’s fixed on master. I couldn’t find which commit 
fixed it though… 

Yuan




reply via email to

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