2008-01-29 Alan Mackenzie <acm@muc.de>
+ * progmodes/cc-langs.el (c-specifier-key): Exclude "template"
+ from this regexp; part of same fix as next change to cc-engine.el.
+
* progmodes/cc-engine.el (c-guess-basic-syntax, CASE 5A.5): Anchor
the "{" of a template function correctly on "template", not the
following "<".
(c-lang-defvar c-prefix-spec-kwds-re (c-lang-const c-prefix-spec-kwds-re))
(c-lang-defconst c-specifier-key
- ;; Adorned regexp of the keywords in `c-prefix-spec-kwds' that
- ;; aren't ambiguous with types or type prefixes.
+ ;; Adorned regexp of the keywords in `c-prefix-spec-kwds' that aren't
+ ;; ambiguous with types or type prefixes. These are the keywords (like
+ ;; extern, namespace, but NOT template) that can modify a declaration.
t (c-make-keywords-re t
(set-difference (c-lang-const c-prefix-spec-kwds)
- (c-lang-const c-type-start-kwds)
+ (append (c-lang-const c-type-start-kwds)
+ (c-lang-const c-<>-arglist-kwds))
:test 'string-equal)))
(c-lang-defvar c-specifier-key (c-lang-const c-specifier-key))