This fixes bug #52796.
* lisp/progmodes/cc-engine.el (c-update-brace-stack): Handle a "*" like a
semicolon, cancelling the expectation of a brace.
* lisp/progmodes/cc-langs.el (c-brace-stack-thing-key): Add a "*" into the
sets of significant characters.
(setq s (cons -1 (cdr s))))
((and (equal match ",")
(eq (car s) -1))) ; at "," in "class foo : bar, ..."
- ((member match '(";" "," ")"))
+ ((member match '(";" "*" "," "("))
(when (and s (cdr s) (<= (car s) 0))
(setq s (cdr s))))
((c-keyword-member kwd-sym 'c-flat-decl-block-kwds)
(append
(c-lang-const c-flat-decl-block-kwds)
(if (c-lang-const c-recognize-<>-arglists)
- '("{" "}" ";" "," ")" ":" "<")
- '("{" "}" ";" "," ")" ":")))))
+ '("{" "}" ";" "*" "," ")" ":" "<")
+ '("{" "}" ";" "*" "," ")" ":")))))
(c-lang-defvar c-brace-stack-thing-key (c-lang-const c-brace-stack-thing-key))
(c-lang-defconst c-brace-stack-no-semi-key