]> git.eshelyaron.com Git - emacs.git/commit
C++ Mode: handle __attribute__,etc. inside constructor argument lists
authorAlan Mackenzie <acm@muc.de>
Sat, 12 Sep 2020 16:37:56 +0000 (16:37 +0000)
committerAlan Mackenzie <acm@muc.de>
Sat, 12 Sep 2020 16:37:56 +0000 (16:37 +0000)
commit62f239eec2be42d857cc91009b4b7d8c8cf31b4e
tree0a9c9fdafc5672803fa696e4ae9286857a6fb4aa
parentd228cac2e8d7026231daf1c97fb37279d61420a9
C++ Mode: handle __attribute__,etc. inside constructor argument lists

This corrects both the fontification and indentation of these things, fixing
bug #42270.

* lisp/progmodes/cc-engine.el (c-do-declarators): Skip over "hangon keys" and
noise macros whilst scanning a putative C++ function.
(c-forward-decl-or-cast-1): When checking for typeless functions, skip over
"hangon keys" and noise macros.

* lisp/progmodes/cc-mode.el (c-fl-decl-end): Deal with certain invalid
"nested declarators" by scanning over them with a recursive call of
c-fl-decl-end.

* lisp/progmodes/cc-vars.el (c-noise-macro-names)
(c-noise-macro-with-parens-names): State in the doc strings that if either of
these is a regexp, it must have a submatch 1 which matches the noise macro
exactly.
lisp/progmodes/cc-engine.el
lisp/progmodes/cc-mode.el
lisp/progmodes/cc-vars.el