diff options
| author | Alan Mackenzie | 2016-04-25 17:57:24 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2016-04-25 17:57:24 +0000 |
| commit | 89d1776b81ab552192ee41f13ce84ff86bda4556 (patch) | |
| tree | 6379dcc27fd3543a5f513794fe920b41beaa6b4f | |
| parent | 86d083438dba60dc00e9e96414bf7e832720c05a (diff) | |
| download | emacs-89d1776b81ab552192ee41f13ce84ff86bda4556.tar.gz emacs-89d1776b81ab552192ee41f13ce84ff86bda4556.zip | |
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.
| -rw-r--r-- | lisp/progmodes/cc-fonts.el | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index e171b20f328..6c348514915 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el | |||
| @@ -1205,8 +1205,20 @@ casts and declarations are fontified. Used on level 2 and higher." | |||
| 1205 | 'font-lock-keyword-face) | 1205 | 'font-lock-keyword-face) |
| 1206 | (looking-at c-not-decl-init-keywords)) | 1206 | (looking-at c-not-decl-init-keywords)) |
| 1207 | (and c-macro-with-semi-re | 1207 | (and c-macro-with-semi-re |
| 1208 | (looking-at c-macro-with-semi-re))) ; 2008-11-04 | 1208 | (looking-at c-macro-with-semi-re)) ; 2008-11-04 |
| 1209 | ;; Don't do anything more if we're looking at a keyword that | 1209 | (save-excursion ; A construct after a ; in a `for' statement |
| 1210 | ; can't be a declaration. | ||
| 1211 | (and (c-go-up-list-backward) | ||
| 1212 | (eq (char-after) ?\() | ||
| 1213 | (progn (c-backward-syntactic-ws) | ||
| 1214 | (c-simple-skip-symbol-backward)) | ||
| 1215 | (looking-at c-paren-stmt-key) | ||
| 1216 | (progn (goto-char match-pos) | ||
| 1217 | (while (and (eq (char-before) ?\)) | ||
| 1218 | (c-go-list-backward)) | ||
| 1219 | (c-backward-syntactic-ws)) | ||
| 1220 | (eq (char-before) ?\;))))) | ||
| 1221 | ;; Don't do anything more if we're looking at something that | ||
| 1210 | ;; can't start a declaration. | 1222 | ;; can't start a declaration. |
| 1211 | t | 1223 | t |
| 1212 | 1224 | ||