Subject: bug#35347: CC Mode 5.33.2 (C++//l); An improper space is being added to the tabbing of a access specifier label inside of a class.

From: Dylan Johnson <[email-masked]>
Date: Sat, 20 Apr 2019 11:50:25 -0600

When you define a class with a macro between the ``class'' specifier and

the name of the class you will observe that the access labels ``public:''

and ``private:'' are interpreted as a labels by the autoformatter

and an incorrect space is added to its tabbing. Attempts to correct this

with ``C - c C - o'' failed.

Here is an example:

\\\

class TEST_MACRO Test_class

{

public:

Test_class();

virtual ~Test_class();

void method1();

int member1();

};

\\\

Thanks,

Dylan

Emacs : GNU Emacs 26.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5)

of 2019-04-13

Package: CC Mode 5.33.2 (C++//l)

Buffer Style: gnu

c-emacs-features: (pps-extended-state col-0-paren posix-char-classes
gen-string-delim gen-comment-delim syntax-properties 1-bit)

current state:

==============

(setq

c-basic-offset 2

c-comment-only-line-offset '(0 . 0)

c-indent-comment-alist '((anchored-comment column . 0) (end-block space . 1)

(cpp-end-block space . 2))

c-indent-comments-syntactically-p nil

c-block-comment-prefix ""

c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (awk-mode . "