summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2008-01-29 20:30:54 +0000
committerAlan Mackenzie <acm@muc.de>2008-01-29 20:30:54 +0000
commitcc1cce145e9f0bd619dd1af3c50f3c862b6779c6 (patch)
tree6bc3a2d56e692d51b421b8ac4497df8fb2d191ff
parentd7e889f65513307919255f3f55551c6a71a26b68 (diff)
downloademacs-cc1cce145e9f0bd619dd1af3c50f3c862b6779c6.tar.gz
(c-specifier-key): Exclude "template" from this regexp; to allow the "{"
of a template function to be correctly anchored on "template", not the following "<".
-rw-r--r--lisp/progmodes/cc-langs.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/progmodes/cc-langs.el b/lisp/progmodes/cc-langs.el
index 9e8dd282e11..4c82fb522c0 100644
--- a/lisp/progmodes/cc-langs.el
+++ b/lisp/progmodes/cc-langs.el
@@ -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))