# HG changeset patch # User Alan Mackenzie # Date 1201638732 0 # Node ID e1f1480a05d67f7c65d95b6b26d5a382983daaf0 # Parent 8490f9f99fe37c7cfa2da5fcd68694b31741bd23 (c-specifier-key): Exclude "template" from this regexp; to allow the "{" of a template function to be correctly anchored on "template", not the following "<". diff -r 8490f9f99fe3 -r e1f1480a05d6 lisp/progmodes/cc-langs.el --- a/lisp/progmodes/cc-langs.el Tue Jan 29 20:21:42 2008 +0000 +++ b/lisp/progmodes/cc-langs.el Tue Jan 29 20:32:12 2008 +0000 @@ -1771,11 +1771,13 @@ (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))