[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#72263: 31.0.50; Wrong indentation c++-ts-mode
From: |
Yuan Fu |
Subject: |
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@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@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