If a file in c-mode contains constructs that look like C++ templates, c-mode will try to use parts of the template-matching infrastructure that have not been initialized. === modified file 'lisp/progmodes/cc-engine.el' --- lisp/progmodes/cc-engine.el 2010-11-15 04:13:16 +0000 +++ lisp/progmodes/cc-engine.el 2010-11-25 03:09:29 +0000 @@ -5889,7 +5889,8 @@ ;; `c-record-type-identifiers' is non-nil. ;; ;; This function might do hidden buffer changes. - (when (looking-at "<") + (when (and c-recognize-<>-arglists + (looking-at "<")) (c-forward-<>-arglist t) (c-forward-syntactic-ws))