summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2017-08-31 18:08:21 +0000
committerAlan Mackenzie <acm@muc.de>2017-08-31 18:08:21 +0000
commit201f950e665153733b47b133a839921bc95806e3 (patch)
tree153c4598144cb1b6e61f893b5abaa3b87b5d3a5d
parent7bb75e3d8194c2349bfa4479fd72e10f31bea0a5 (diff)
downloademacs-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.el22
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.