mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-12 16:23:57 +00:00
Fix spurious fontification of "for (; a * b;)" in CC Mode.
* lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being inside the parens of a for statement and after a semicolon near the beginning of the lambda form.
This commit is contained in:
parent
86d083438d
commit
89d1776b81
@ -1205,8 +1205,20 @@ casts and declarations are fontified. Used on level 2 and higher."
|
||||
'font-lock-keyword-face)
|
||||
(looking-at c-not-decl-init-keywords))
|
||||
(and c-macro-with-semi-re
|
||||
(looking-at c-macro-with-semi-re))) ; 2008-11-04
|
||||
;; Don't do anything more if we're looking at a keyword that
|
||||
(looking-at c-macro-with-semi-re)) ; 2008-11-04
|
||||
(save-excursion ; A construct after a ; in a `for' statement
|
||||
; can't be a declaration.
|
||||
(and (c-go-up-list-backward)
|
||||
(eq (char-after) ?\()
|
||||
(progn (c-backward-syntactic-ws)
|
||||
(c-simple-skip-symbol-backward))
|
||||
(looking-at c-paren-stmt-key)
|
||||
(progn (goto-char match-pos)
|
||||
(while (and (eq (char-before) ?\))
|
||||
(c-go-list-backward))
|
||||
(c-backward-syntactic-ws))
|
||||
(eq (char-before) ?\;)))))
|
||||
;; Don't do anything more if we're looking at something that
|
||||
;; can't start a declaration.
|
||||
t
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user