GNU bug report logs -
#72263
31.0.50; Wrong indentation c++-ts-mode
Previous Next
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
View this message in rfc822 format
> 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?
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.