Don't call c-parse-state when c++-template-syntax-table is active.
[bpt/emacs.git] / lisp / progmodes / cc-fonts.el
index 6a4bfd9..bf5630d 100644 (file)
@@ -1,6 +1,6 @@
 ;;; cc-fonts.el --- font lock support for CC Mode
 
-;; Copyright (C) 2002-2013 Free Software Foundation, Inc.
+;; Copyright (C) 2002-2014 Free Software Foundation, Inc.
 
 ;; Authors:    2003- Alan Mackenzie
 ;;             2002- Martin Stjernholm
@@ -1307,7 +1307,8 @@ casts and declarations are fontified.  Used on level 2 and higher."
                            (goto-char match-pos)
                            (backward-char)
                            (c-backward-token-2)
-                           (looking-at c-block-stmt-2-key)))
+                           (or (looking-at c-block-stmt-2-key)
+                               (looking-at c-block-stmt-1-2-key))))
                     (setq context nil
                           c-restricted-<>-arglists t))
                    ;; Near BOB.
@@ -1472,11 +1473,7 @@ casts and declarations are fontified.  Used on level 2 and higher."
                      (numberp (car paren-state))
                      (save-excursion
                        (goto-char (car paren-state))
-                       (c-backward-token-2)
-                       (or (looking-at c-brace-list-key)
-                           (progn
-                             (c-backward-token-2)
-                             (looking-at c-brace-list-key)))))))
+                       (c-backward-over-enum-header)))))
              (c-forward-token-2)
              nil)
 
@@ -1566,12 +1563,7 @@ casts and declarations are fontified.  Used on level 2 and higher."
           (eq (char-after encl-pos) ?\{)
           (save-excursion
             (goto-char encl-pos)
-            (c-backward-syntactic-ws)
-            (c-simple-skip-symbol-backward)
-            (or (looking-at c-brace-list-key) ; "enum"
-                (progn (c-backward-syntactic-ws)
-                       (c-simple-skip-symbol-backward)
-                       (looking-at c-brace-list-key)))))
+            (c-backward-over-enum-header)))
       (c-syntactic-skip-backward "^{," nil t)
       (c-put-char-property (1- (point)) 'c-type 'c-decl-id-start)
 
@@ -1892,7 +1884,7 @@ higher."
                "\\)\\>"
                ;; Disallow various common punctuation chars that can't come
                ;; before the '{' of the enum list, to avoid searching too far.
-               "[^\]\[{}();,/#=]*"
+               "[^\]\[{}();/#=]*"
                "{")
               '((c-font-lock-declarators limit t nil)
                 (save-match-data