Subject: Re: bug#48992: cc-mode initialize list indentation bug

From: 王斌波 <[email-masked]>
Date: Sat, 28 Aug 2021 09:40:20 +0800 (GMT+08:00)

Hello, Alan.
  Thank you for your great work. I applyed the path, and the problem fixed. What i did is like this:
  1. apply the patch
  2. recompile the cc-engine.el
  3. restart emacs, edit a real cpp file. The indentation was correct now.

Binbo Wang (ChongQing, China).
On 8/22/2021 01:57，Alan Mackenzie<[email-masked]> wrote：
Hello, Binbowang.

On Sun, Jun 13, 2021 at 07:29:55 +0800, 王斌波 wrote:
class A {
public:
static std::set<int> setA;
};

std::set<int> A::setA {
1,
2,
3
}

The indentation in setA initialize list is not correct. I want it like the following.
class A {
public:
static std::set<int> setA;
};

std::set<int> A::setA {
1,
2,
3
}

The indentation was indeed incorrect.  CC Mode was mis-analysing the
brace list as a function.  I think the patch attached should fix this.

Would you please apply the patch to your CC Mode (in directory
..../emacs/lisp/progmodes), byte compile that file, load it into your
Emacs and try it out on your real C++ source code.  Then please let me
know if the bug is indeed fixed.  (If you would like any help with the
patching or byte compilation, feel free to send me private email.)

In GNU Emacs 27.1 (build 1, x86_64-w64-mingw32)
of 2020-08-22 built on CIRROCUMULUS
Repository revision: 86d8d76aa36037184db0b2897c434cdaab1a9ae8
Repository branch: HEAD
Windowing system distributor 'Microsoft Corp.', version 10.0.19042
System Description: Microsoft Windows 10 Pro (v10.0.2009.19042.1052)

[ .... ]

--
Alan Mackenzie (Nuremberg, Germany).