(c-specifier-key): Exclude "template" from this regexp; to allow the "{"

of a template function to be correctly anchored on "template", not the
following "<".
This commit is contained in:
Alan Mackenzie 2008-01-29 20:33:38 +00:00
parent 86f4a763d4
commit 88b4a959ac
2 changed files with 8 additions and 3 deletions

View file

@ -1,5 +1,8 @@
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 "<".

View file

@ -1771,11 +1771,13 @@ one of `c-type-list-kwds', `c-ref-list-kwds',
(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))