bug#66911: CC Mode 5.35.2 (C++//l); Noise macro being taken as anchor to class-open

Alan Mackenzie <[email protected]> Mon, 6 Nov 2023 10:47:03 +0000
Newsgroups gmane.emacs.cc-mode.general
Message-ID <ZUjEJ-2D0m39qZ7W@ACM>
SGVsbG8sIEFyc2VuLgoKVGhhbmtzIGZvciB0YWtpbmcgdGhlIHRyb3VibGUgdG8gcmVwb3J0IHRo
aXMgYnVnLCBhbmQgdGhhbmtzIGV2ZW4gbW9yZQpmb3Igc3VjaCBhIGhpZ2ggcXVhbGl0eSBidWcg
cmVwb3J0IQoKT24gRnJpLCBOb3YgMDMsIDIwMjMgYXQgMTA6NTE6MzIgKzAxMDAsIEFyc2VuIEFy
c2Vub3ZpxIcgdmlhIENDLU1vZGUtaGVscCB3cm90ZToKPiBQYWNrYWdlOiBjYy1tb2RlCgo+IDwj
c2VjdXJlIG1ldGhvZD1wZ3BtaW1lIG1vZGU9c2lnbj4KPiBQYWNrYWdlOiBjYy1tb2RlCgo+IElu
IHRoZSBleGFtcGxlIGJlbG93OgoKPiBuYW1lc3BhY2UgYSB7Cj4gX0JFR0lOCgo+ICAgdGVtcGxh
dGU8Pgo+ICAgICBzdHJ1Y3QgZm9vCj4gICAgIHsgLyogSEVSRSAqLwo+ICAgICB9Owo+IH0KCj4g
Ly8gTG9jYWwgVmFyaWFibGVzOgo+IC8vIGMtbm9pc2UtbWFjcm8tbmFtZXM6ICgiX0JFR0lOIikK
PiAvLyBFbmQ6Cgo+IFByZXNzaW5nIEMtYyBDLXMgb24gdGhlIHN0YXQgb2YgdGhlIGxpbmUgbWFy
a2VkIEhFUkUgc2hvd3MgKChjbGFzcy1vcGVuCj4gMTUpKSwgd2hpY2ggaXMgdGhlICdfJyBvZiB0
aGUgJ19CRUdJTicuICBUaGlzIGFwcGVhcnMgdG8gYmUgd3JvbmcsIGFzCj4gdGhlIGFuY2hvciBz
aG91bGQgYmUgdGhlICdjbGFzcycga2V5d29yZCBvbiB0aGUgbGluZSBhYm92ZSwgSSBiZWxpZXZl
LgoKPiBBbmNob3JpbmcgJ3snIG9uIHRoZSBjbGFzcy9zdHJ1Y3QvdW5pb24gdGhhdCBwcmVjZWRl
cyBpdCB3b3VsZCBhbHNvCj4gZW5hYmxlIGltcGxlbWVudGluZyB0aGUgR05VIGxpYnN0ZGMrKyBj
b2RlIHN0eWxlIChhcywgQUZBSUNULCBpdCBpcwo+IGN1cnJlbnRseSBpbXBvc3NpYmxlIHRvIGlu
ZGVudCBhIGNsYXNzIHdpdGggYSBiYXNpYy1vZmZzZXQgYWRkZWQgdG8gdGhlCj4gY29sdW1uIHRo
ZSAndGVtcGxhdGUnIGtleXdvcmQgc2l0cyBvbikuCgpZZXMsIGluIGZ1bmN0aW9uIGMtbG9va2lu
Zy1hdC1kZWNsLWJsb2NrLCB0aGUgaGFuZGxpbmcgb2YgdGVtcGxhdGUKY29uc3RydWN0cyBhbmQg
bm9pc2UgbWFjcm9zIHdhcyBzb21ld2hhdCBjYXJlbGVzcy4gIFRoaXMgc2hvdWxkIGJlIGZpeGVk
CmJ5IHRoZSBwYXRjaCBiZWxvdy4KCkV2ZW4gc28sIGl0J3Mgd29ydGggbm90aW5nIHRoYXQgbm9p
c2UgbWFjcm9zIHdpdGggcGFyZW50aGVzZXMgKHNldCB3aXRoCnRoZSBidWZmZXIgbG9jYWwgdmFy
aWFibGUgYy1ub2lzZS1tYWNyby13aXRoLXBhcmVucy1uYW1lcykgYXJlIGN1cnJlbnRseQpub3Qg
aGFuZGxlZCBjb3JyZWN0bHksIGhlcmUuICBUaGlzIHdhcyBhIGRlY2lzaW9uIHRha2VuIHNvbWUg
eWVhcnMgYWdvLAp0byBhdm9pZCBzbG93aW5nIGRvd24gQ0MgTW9kZSBmb3IgYSBjb25zdHJ1Y3Qg
d2hpY2ggaXMgcmFyZXIgdGhhbiB0aGUKbm9pc2UgbWFjcm9zIHdpdGhvdXQgcGFyZW5zLiAgSSdt
IHRoaW5raW5nIG9mIHRha2luZyBhbm90aGVyIGxvb2sgYXQKdGhpcy4KCldvdWxkIHlvdSBwbGVh
c2UgYXBwbHkgdGhlIHBhdGNoLCBieXRlIGNvbXBpbGUgY2MtZW5naW5lLmVsIChvciBhbGwgb2YK
Q0MgTW9kZSksIGxvYWQgaXQgaW50byB5b3VyIEVtYWNzIGFuZCB0cnkgaXQgb3V0IG9uIHlvdXIg
cmVhbCBDKysgY29kZS4KVGhlIHBhdGNoIHNob3VsZCBhcHBseSBjbGVhbmx5IHRvIHRoZSBFbWFj
cyBtYXN0ZXIgYnJhbmNoLiAgVGhlbiBwbGVhc2UKY29uZmlybSB0aGF0IGl0IGlzIGFjdHVhbGx5
IGZpeGVzIHRoZSBidWcsIG9yIHRlbGwgbWUgd2hhdCdzIHN0aWxsIG5vdAp3b3JraW5nIHByb3Bl
cmx5LiAgKElmIHlvdSB3YW50IGFueSBoZWxwIGFwcGx5aW5nIHRoZSBwYXRjaCBvciBjb21waWxp
bmcKdGhlIGZpbGUsIGZlZWwgZnJlZSB0byBzZW5kIG1lIHByaXZhdGUgZW1haWwuKQoKPiBFbWFj
cyAgOiBHTlUgRW1hY3MgMzAuMC41MCAoYnVpbGQgMSwgeDg2XzY0LXBjLWxpbnV4LWdudSwgR1RL
KyBWZXJzaW9uIDMuMjQuMzgsIGNhaXJvIHZlcnNpb24gMS4xNy44KQo+ICBvZiAyMDIzLTA5LTI0
Cj4gUGFja2FnZTogQ0MgTW9kZSA1LjM1LjIgKEMrKy8vbCkKPiBCdWZmZXIgU3R5bGU6IGdudQo+
IGMtZW1hY3MtZmVhdHVyZXM6IChwcHMtZXh0ZW5kZWQtc3RhdGUgY29sLTAtcGFyZW4gcG9zaXgt
Y2hhci1jbGFzc2VzIGdlbi1zdHJpbmctZGVsaW0gZ2VuLWNvbW1lbnQtZGVsaW0gc3ludGF4LXBy
b3BlcnRpZXMgY2F0ZWdvcnktcHJvcGVydGllcyAxLWJpdCkKClsgLi4uLiBdCgpkaWZmIC1yIDI3
NjBhYWRhNjFmYSBjYy1lbmdpbmUuZWwKLS0tIGEvY2MtZW5naW5lLmVsCVN1biBPY3QgMTUgMTA6
NDQ6MjIgMjAyMyArMDAwMAorKysgYi9jYy1lbmdpbmUuZWwJTW9uIE5vdiAwNiAxMDoyNjozNCAy
MDIzICswMDAwCkBAIC0xMjYzMywzMSArMTI2MzMsMjcgQEAKICAgKGxldCAoKG9wZW4tYnJhY2Ug
KHBvaW50KSkga3dkLXN0YXJ0IGZpcnN0LXNwZWNpZmllci1wb3MpCiAgICAgKGMtc3ludGFjdGlj
LXNraXAtYmFja3dhcmQgYy1ibG9jay1wcmVmaXgtY2hhcnNldCBsaW1pdCB0KQogCi0gICAgKHdo
ZW4gKGFuZCBjLXJlY29nbml6ZS08Pi1hcmdsaXN0cwotCSAgICAgICAoZXEgKGNoYXItYmVmb3Jl
KSA/PikpCi0gICAgICA7OyBDb3VsZCBiZSBhdCB0aGUgZW5kIG9mIGEgdGVtcGxhdGUgYXJnbGlz
dC4KLSAgICAgIChsZXQgKChjLXBhcnNlLWFuZC1tYXJrdXAtPD4tYXJnbGlzdHMgdCkpCi0JKHdo
aWxlIChhbmQKLQkJKGMtYmFja3dhcmQtPD4tYXJnbGlzdCBuaWwgbGltaXQpCi0JCShwcm9nbgot
CQkgIChjLXN5bnRhY3RpYy1za2lwLWJhY2t3YXJkIGMtYmxvY2stcHJlZml4LWNoYXJzZXQgbGlt
aXQgdCkKLQkJICAoZXEgKGNoYXItYmVmb3JlKSA/PikpKSkpKQotCi0gICAgOzsgU2tpcCBiYWNr
IG92ZXIgbm9pc2UgY2xhdXNlcy4KLSAgICAod2hpbGUgKGFuZAotCSAgICBjLW9wdC1jcHAtcHJl
Zml4Ci0JICAgIChlcSAoY2hhci1iZWZvcmUpID9cKSkKLQkgICAgKGxldCAoKGFmdGVyLXBhcmVu
IChwb2ludCkpKQotCSAgICAgIChpZiAoYW5kIChjLWdvLWxpc3QtYmFja3dhcmQpCi0JCSAgICAg
ICAocHJvZ24gKGMtYmFja3dhcmQtc3ludGFjdGljLXdzKQotCQkJICAgICAgKGMtc2ltcGxlLXNr
aXAtc3ltYm9sLWJhY2t3YXJkKSkKLQkJICAgICAgIChvciAobG9va2luZy1hdCBjLXBhcmVuLW5v
bnR5cGUta2V5KQotCQkJICAgKGxvb2tpbmctYXQgYy1ub2lzZS1tYWNyby13aXRoLXBhcmVucy1u
YW1lLXJlKSkpCi0JCSAgKHByb2duCi0JCSAgICAoYy1zeW50YWN0aWMtc2tpcC1iYWNrd2FyZCBj
LWJsb2NrLXByZWZpeC1jaGFyc2V0IGxpbWl0IHQpCi0JCSAgICB0KQotCQkoZ290by1jaGFyIGFm
dGVyLXBhcmVuKQotCQluaWwpKSkpCisgICAgKHdoaWxlCisJKG9yIAorCSA7OyBDb3VsZCBiZSBh
ZnRlciBhIHRlbXBsYXRlIGFyZ2xpc3QuLi4uCisJIChhbmQgYy1yZWNvZ25pemUtPD4tYXJnbGlz
dHMKKwkgICAgICAoZXEgKGNoYXItYmVmb3JlKSA/PikKKwkgICAgICAobGV0ICgoYy1wYXJzZS1h
bmQtbWFya3VwLTw+LWFyZ2xpc3RzIHQpKQorCQkoYy1iYWNrd2FyZC08Pi1hcmdsaXN0IG5pbCBs
aW1pdCkpKQorCSA7OyAuLi4uIG9yIGFmdGVyIGEgbm9pc2UgY2xhdXNlIHdpdGggcGFyZW5zLgor
CSAoYW5kIGMtb3B0LWNwcC1wcmVmaXgKKwkgICAgICAobGV0ICgoYWZ0ZXItcGFyZW4gKHBvaW50
KSkpCisJCShpZiAoZXEgKGNoYXItYmVmb3JlKSA/XCkpCisJCSAgICAoYW5kCisJCSAgICAgKGMt
Z28tbGlzdC1iYWNrd2FyZCkKKwkJICAgICAoZXEgKGNoYXItYWZ0ZXIpID9cKCkKKwkJICAgICAo
cHJvZ24gKGMtYmFja3dhcmQtc3ludGFjdGljLXdzKQorCQkJICAgIChjLXNpbXBsZS1za2lwLXN5
bWJvbC1iYWNrd2FyZCkpCisJCSAgICAgKG9yIChsb29raW5nLWF0IGMtcGFyZW4tbm9udHlwZS1r
ZXkpIDsgZS5nLiBfX2F0dHJpYnV0ZV9fCisJCQkgKGxvb2tpbmctYXQgYy1ub2lzZS1tYWNyby13
aXRoLXBhcmVucy1uYW1lLXJlKSkpCisJCSAgKGdvdG8tY2hhciBhZnRlci1wYXJlbikKKwkJICBu
aWwpKSkpCisgICAgICAoYy1zeW50YWN0aWMtc2tpcC1iYWNrd2FyZCBjLWJsb2NrLXByZWZpeC1j
aGFyc2V0IGxpbWl0IHQpKQogCiAgICAgOzsgTm90ZTogQ2FuJ3QgZ2V0IGJvZ3VzIGhpdHMgaW5z
aWRlIHRlbXBsYXRlIGFyZ2xpc3RzIGJlbG93IHNpbmNlIHRoZXkKICAgICA7OyBoYXZlIGdvdHRl
biBwYXJlbiBzeW50YXggYWJvdmUuCkBAIC0xMjY2NywxMCArMTI2NjMsMTggQEAKIAkgICA7OyBU
aGUgYGMtZGVjbC1ibG9jay1rZXknIHNlYXJjaCBjb250aW51ZXMgZnJvbSB0aGVyZSBzaW5jZQog
CSAgIDs7IHdlIGtub3cgaXQgY2FuJ3QgbWF0Y2ggZWFybGllci4KIAkgICAoaWYgZ290by1zdGFy
dAotCSAgICAgICAod2hlbiAoYy1zeW50YWN0aWMtcmUtc2VhcmNoLWZvcndhcmQgYy1zeW1ib2wt
c3RhcnQKLQkJCQkJCSAgICBvcGVuLWJyYWNlIHQgdCkKLQkJIChnb3RvLWNoYXIgKHNldHEgZmly
c3Qtc3BlY2lmaWVyLXBvcyAobWF0Y2gtYmVnaW5uaW5nIDApKSkKLQkJIHQpCisJICAgICAgIChw
cm9nbgorCQkgKHdoaWxlCisJCSAgICAgKGFuZAorCQkgICAgICAoYy1zeW50YWN0aWMtcmUtc2Vh
cmNoLWZvcndhcmQgYy1zeW1ib2wtc3RhcnQKKwkJCQkJCSAgICAgb3Blbi1icmFjZSB0IHQpCisJ
CSAgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKwkJICAgICAgKGlmIChvciAo
bG9va2luZy1hdCBjLW5vaXNlLW1hY3JvLW5hbWUtcmUpCisJCQkgICAgICAobG9va2luZy1hdCBj
LW5vaXNlLW1hY3JvLXdpdGgtcGFyZW5zLW5hbWUtcmUpKQorCQkJICAoYy1mb3J3YXJkLW5vaXNl
LWNsYXVzZSkKKwkJCShzZXRxIGZpcnN0LXNwZWNpZmllci1wb3MgKG1hdGNoLWJlZ2lubmluZyAw
KSkKKwkJCW5pbCkpKQorCQkgZmlyc3Qtc3BlY2lmaWVyLXBvcykKIAkgICAgIHQpCiAKIAkgICAo
Y29uZApAQCAtMTI3MzksMzQgKzEyNzQzLDM5IEBACiAJICAgIChnb3RvLWNoYXIgZmlyc3Qtc3Bl
Y2lmaWVyLXBvcykKIAogCSAgICAod2hpbGUgKDwgKHBvaW50KSBrd2Qtc3RhcnQpCi0JICAgICAg
KGlmIChsb29raW5nLWF0IGMtc3ltYm9sLWtleSkKLQkJICA7OyBBY2NlcHQgYW55IHBsYWluIHN5
bWJvbCB0b2tlbiBvbiB0aGUgZ3JvdW5kIHRoYXQKLQkJICA7OyBpdCdzIGEgc3BlY2lmaWVyIG1h
c2tlZCB0aHJvdWdoIGEgbWFjcm8gKGp1c3QKLQkJICA7OyBsaWtlIGBjLWZvcndhcmQtZGVjbC1v
ci1jYXN0LTEnIHNraXAgZm9yd2FyZCBvdmVyCi0JCSAgOzsgc3VjaCB0b2tlbnMpLgotCQkgIDs7
Ci0JCSAgOzsgQ291bGQgYmUgbW9yZSByZXN0cmljdGl2ZSB3cnQgaW52YWxpZCBrZXl3b3JkcywK
LQkJICA7OyBidXQgdGhhdCdkIG9ubHkgb2NjdXIgaW4gaW52YWxpZCBjb2RlIHNvIHRoZXJlJ3MK
LQkJICA7OyBubyB1c2Ugc3BlbmRpbmcgZWZmb3J0IG9uIGl0LgotCQkgIChsZXQgKChlbmQgKG1h
dGNoLWVuZCAwKSkKLQkJCShrd2Qtc3ltIChjLWtleXdvcmQtc3ltIChtYXRjaC1zdHJpbmcgMCkp
KSkKLQkJICAgICh1bmxlc3MKLQkJCShhbmQga3dkLXN5bQotCQkJICAgICA7OyBNb3Zpbmcgb3Zl
ciBhIHByb3RlY3Rpb24ga3dkIGFuZCB0aGUgZm9sbG93aW5nCi0JCQkgICAgIDs7ICI6IiAoaW4g
QysrIE1vZGUpIHRvIHRoZSBuZXh0IHRva2VuIGNvdWxkIHRha2UKLQkJCSAgICAgOzsgdXMgYWxs
IHRoZSB3YXkgdXAgdG8gYGt3ZC1zdGFydCcsIGxlYXZpbmcgdXMKLQkJCSAgICAgOzsgbm8gY2hh
bmNlIHRvIHVwZGF0ZSBgZmlyc3Qtc3BlY2lmaWVyLXBvcycuCi0JCQkgICAgIChub3QgKGMta2V5
d29yZC1tZW1iZXIga3dkLXN5bSAnYy1wcm90ZWN0aW9uLWt3ZHMpKQotCQkJICAgICAoYy1mb3J3
YXJkLWtleXdvcmQtY2xhdXNlIDApKQotCQkgICAgICAoZ290by1jaGFyIGVuZCkKLQkJICAgICAg
KGMtZm9yd2FyZC1zeW50YWN0aWMtd3MpKSkKLQorCSAgICAgIChjb25kCisJICAgICAgICgob3Ig
KGxvb2tpbmctYXQgYy1ub2lzZS1tYWNyby1uYW1lLXJlKQorCQkgICAgKGxvb2tpbmctYXQgYy1u
b2lzZS1tYWNyby13aXRoLXBhcmVucy1uYW1lLXJlKSkKKwkJKGMtZm9yd2FyZC1ub2lzZS1jbGF1
c2UpKQorCSAgICAgICAoKGxvb2tpbmctYXQgYy1zeW1ib2wta2V5KQorCQk7OyBBY2NlcHQgYW55
IHBsYWluIHN5bWJvbCB0b2tlbiBvbiB0aGUgZ3JvdW5kIHRoYXQKKwkJOzsgaXQncyBhIHNwZWNp
ZmllciBtYXNrZWQgdGhyb3VnaCBhIG1hY3JvIChqdXN0CisJCTs7IGxpa2UgYGMtZm9yd2FyZC1k
ZWNsLW9yLWNhc3QtMScgc2tpcHMgZm9yd2FyZCBvdmVyCisJCTs7IHN1Y2ggdG9rZW5zKS4KKwkJ
OzsKKwkJOzsgQ291bGQgYmUgbW9yZSByZXN0cmljdGl2ZSB3cnQgaW52YWxpZCBrZXl3b3JkcywK
KwkJOzsgYnV0IHRoYXQnZCBvbmx5IG9jY3VyIGluIGludmFsaWQgY29kZSBzbyB0aGVyZSdzCisJ
CTs7IG5vIHVzZSBzcGVuZGluZyBlZmZvcnQgb24gaXQuCisJCShsZXQgKChlbmQgKG1hdGNoLWVu
ZCAwKSkKKwkJICAgICAgKGt3ZC1zeW0gKGMta2V5d29yZC1zeW0gKG1hdGNoLXN0cmluZyAwKSkp
KQorCQkgICh1bmxlc3MKKwkJICAgICAgKGFuZCBrd2Qtc3ltCisJCQkgICA7OyBNb3Zpbmcgb3Zl
ciBhIHByb3RlY3Rpb24ga3dkIGFuZCB0aGUgZm9sbG93aW5nCisJCQkgICA7OyAiOiIgKGluIEMr
KyBNb2RlKSB0byB0aGUgbmV4dCB0b2tlbiBjb3VsZCB0YWtlCisJCQkgICA7OyB1cyBhbGwgdGhl
IHdheSB1cCB0byBga3dkLXN0YXJ0JywgbGVhdmluZyB1cworCQkJICAgOzsgbm8gY2hhbmNlIHRv
IHVwZGF0ZSBgZmlyc3Qtc3BlY2lmaWVyLXBvcycuCisJCQkgICAobm90IChjLWtleXdvcmQtbWVt
YmVyIGt3ZC1zeW0gJ2MtcHJvdGVjdGlvbi1rd2RzKSkKKwkJCSAgIChjLWZvcndhcmQta2V5d29y
ZC1jbGF1c2UgMCkpCisJCSAgICAoZ290by1jaGFyIGVuZCkKKwkJICAgIChjLWZvcndhcmQtc3lu
dGFjdGljLXdzKSkpKQorCisJICAgICAgICgoYy1zeW50YWN0aWMtcmUtc2VhcmNoLWZvcndhcmQg
Yy1zeW1ib2wtc3RhcnQKKwkJCQkJICAgICAgIGt3ZC1zdGFydCAnbW92ZSB0KQogCQk7OyBDYW4n
dCBwYXJzZSBhIGRlY2xhcmF0aW9uIHByZWFtYmxlIGFuZCBpcyBzdGlsbAogCQk7OyBiZWZvcmUg
YGt3ZC1zdGFydCcuICBUaGF0IG1lYW5zIGBmaXJzdC1zcGVjaWZpZXItcG9zJwogCQk7OyB3YXMg
aW4gc29tZSBlYXJsaWVyIGNvbnN0cnVjdC4gIFNlYXJjaCBhZ2Fpbi4KLQkJKGlmIChjLXN5bnRh
Y3RpYy1yZS1zZWFyY2gtZm9yd2FyZCBjLXN5bWJvbC1zdGFydAotCQkJCQkJICAga3dkLXN0YXJ0
ICdtb3ZlIHQpCi0JCSAgICAoZ290by1jaGFyIChzZXRxIGZpcnN0LXNwZWNpZmllci1wb3MgKG1h
dGNoLWJlZ2lubmluZyAwKSkpCisJCShnb3RvLWNoYXIgKHNldHEgZmlyc3Qtc3BlY2lmaWVyLXBv
cyAobWF0Y2gtYmVnaW5uaW5nIDApKSkpCisJICAgICAgICh0CiAJCSAgOzsgR290IG5vIHByZWFt
YmxlIGJlZm9yZSB0aGUgYmxvY2sgZGVjbGFyYXRpb24ga2V5d29yZC4KIAkJICAoc2V0cSBmaXJz
dC1zcGVjaWZpZXItcG9zIGt3ZC1zdGFydCkpKSkKIAoKPiAtLSAKPiBBcnNlbiBBcnNlbm92acSH
CgotLSAKQWxhbiBNYWNrZW56aWUgKE51cmVtYmVyZywgR2VybWFueSkuCgoKCg==