diff options
author | Alan Mackenzie <acm@muc.de> | 2017-08-31 18:08:21 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2017-08-31 18:08:21 +0000 |
commit | 201f950e665153733b47b133a839921bc95806e3 (patch) | |
tree | 153c4598144cb1b6e61f893b5abaa3b87b5d3a5d | |
parent | 7bb75e3d8194c2349bfa4479fd72e10f31bea0a5 (diff) | |
download | emacs-201f950e665153733b47b133a839921bc95806e3.tar.gz |
Correct the fontification of C++ Mode enclosed declarations.
* lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
spurious check that the character before the start of an enclosed declaration
must be ; or }. It might also be {.
-rw-r--r-- | lisp/progmodes/cc-fonts.el | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el index b35d33a5fd3..95246f9b166 100644 --- a/lisp/progmodes/cc-fonts.el +++ b/lisp/progmodes/cc-fonts.el @@ -1710,18 +1710,16 @@ casts and declarations are fontified. Used on level 2 and higher." (eq (char-after ps-elt) ?\{)) (goto-char ps-elt) (c-syntactic-skip-backward "^;{}" decl-search-lim) - (when (or (bobp) - (memq (char-before) '(?\; ?}))) - (c-forward-syntactic-ws) - (setq in-typedef (looking-at c-typedef-key)) - (if in-typedef (c-forward-token-2)) - (when (and c-opt-block-decls-with-vars-key - (looking-at c-opt-block-decls-with-vars-key)) - (goto-char ps-elt) - (when (c-safe (c-forward-sexp)) - (c-forward-syntactic-ws) - (c-font-lock-declarators limit t in-typedef - (not (c-bs-at-toplevel-p (point))))))))))) + (c-forward-syntactic-ws) + (setq in-typedef (looking-at c-typedef-key)) + (if in-typedef (c-forward-token-2)) + (when (and c-opt-block-decls-with-vars-key + (looking-at c-opt-block-decls-with-vars-key)) + (goto-char ps-elt) + (when (c-safe (c-forward-sexp)) + (c-forward-syntactic-ws) + (c-font-lock-declarators limit t in-typedef + (not (c-bs-at-toplevel-p (point)))))))))) (defun c-font-lock-raw-strings (limit) ;; Fontify C++ raw strings. |