1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 20:32:00 -08:00

C Mode: Fix mis-fontification of macro invocation as function declaration

This happened with a macro invocation which was followed by a statement block
in braces.

* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
between contexts nil and top, being less permissive in the former case.
(c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
This commit is contained in:
Alan Mackenzie 2016-09-16 10:47:55 +00:00
parent 7123896626
commit 33f856ba01

View file

@ -8631,8 +8631,10 @@ comment at the start of cc-engine.el for more info."
;; CASE 11
(when (and got-identifier
(memq context '(nil top))
(looking-at c-after-suffixed-type-decl-key)
(or (eq context 'top)
(and eq context nil
(match-beginning 1)))
(if (and got-parens
(not got-prefix)
(not got-suffix)
@ -9310,7 +9312,7 @@ comment at the start of cc-engine.el for more info."
(c-forward-objc-directive)))
(setq id-start
(car-safe (c-forward-decl-or-cast-1 (c-point 'bosws) nil nil)))
(car-safe (c-forward-decl-or-cast-1 (c-point 'bosws) 'top nil)))
(< id-start beg)
;; There should not be a '=' or ',' between beg and the