GNU bug report logs - #72263
31.0.50; Wrong indentation c++-ts-mode

Previous Next

Package: emacs;

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

Date: Wed, 24 Jul 2024 00:03:02 UTC

Severity: normal

Found in version 31.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 72263 <at> debbugs.gnu.org (full text, mbox):

From: Yuan Fu <casouri <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Ergus <spacibba <at> aol.com>, 72263 <at> debbugs.gnu.org
Subject: Re: bug#72263: 31.0.50; Wrong indentation c++-ts-mode
Date: Thu, 25 Jul 2024 00:53:16 -0700

> On Jul 25, 2024, at 12:29 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
> 
>> Date: Wed, 24 Jul 2024 02:02:33 +0200
>> From:  Ergus via "Bug reports for GNU Emacs,
>> the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> When using c++-ts-mode there is an indentation issue apparently related
>> with namespaces+templates.
>> 
>> c-ts-mode-indent-style 'linux (but with 'gnu also happens)
>> 
>> ```
>> namespace A {
>> 
>> T myfunction1(const char *fname)
>> {
>> }
>> 
>> template <class T>
>> T myfunction2(const char *fname)
>> {
>> }
>> 
>> }
>> ```
>> 
>> The myfunction2 may be indented as expected, but it is not.
>> 
>> The explorer shows:
>> 
>> ```
>> (translation_unit
>> (namespace_definition namespace name: (namespace_identifier)
>>  body: 
>>   (declaration_list {
>>    (function_definition type: (primitive_type)
>>     declarator: 
>>      (function_declarator declarator: (identifier)
>>       parameters: 
>> (parameter_list (
>> (parameter_declaration
>>  (type_qualifier const)
>>  type: (primitive_type)
>>  declarator: (pointer_declarator * declarator: (identifier)))
>> )))
>>     body: (compound_statement { }))
>>    (template_declaration template
>>     parameters: 
>>      (template_parameter_list <
>>       (type_parameter_declaration class (type_identifier))
>>> )
>>     (function_definition type: (type_identifier)
>>      declarator: 
>>       (function_declarator declarator: (identifier)
>> parameters: 
>> (parameter_list (
>>  (parameter_declaration
>>   (type_qualifier const)
>>   type: (primitive_type)
>>   declarator: (pointer_declarator * declarator: (identifier)))
>>  )))
>>      body: (compound_statement { })))
>>    })))
>> ```
> 
> Yuan, can you take a look, please?

Yeah let me take a look.

Yuan



This bug report was last modified 337 days ago.

Previous Next


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