GNU bug report logs -
#65006
29.1.50; c-ts-mode: else block not indented right on TAB
Previous Next
Reported by: Mohammed Sadiq <sadiq <at> sadiqpk.org>
Date: Wed, 2 Aug 2023 02:44:01 UTC
Severity: normal
Merged with 65026
Found in versions 29.1.50, 30.0.50
Fixed in version 29.2
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> On Aug 2, 2023, at 4:32 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>
>> Date: Wed, 02 Aug 2023 08:13:08 +0530
>> From: Mohammed Sadiq <sadiq <at> sadiqpk.org>
>>
>> The else block in the following code is not indented on TAB:
>>
>> int
>> main (void)
>> {
>> if (true)
>> do_something ();
>> else
>> do_something_else ();
>> }
>>
>> How to reproduce:
>> 1. Select the complete buffer
>> 2. Press TAB
>>
>> Expected result:
>> do_something_else() should be indented
>>
>> afair, this did seem to work in the past. May be this
>> happened after I updated treesitter-c module, idk.
Yeah, (sign) I can reproduce this with the latest tree-sitter-c grammar but not the old one. Someone decides to add an else_clause node into the grammar [1] two weeks ago.
>
> Thank you for your report.
>
> Yuan, can you look into this, please?
Should the fix go into emacs-29 or master?
We really need some way to mandate a version of grammar. These breaking changes are far more frequent than I originally thought.
Yuan
[1] https://github.com/tree-sitter/tree-sitter-c/pull/115
This bug report was last modified 1 year and 303 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.