--- cc-engine.el.~5.428.~ 2003-07-31 16:13:21.000000000 -0400 +++ cc-engine.el 2003-08-04 22:26:47.000000000 -0400 @@ -5934,7 +5934,15 @@ (or (memq (char-after) '(?, ?=)) (and (c-major-mode-is 'c++-mode) (zerop (c-backward-token-2 1 nil lim)) - (eq (char-after) ?<))))) + (or + (eq (char-after) ?<) + ;; handle template template arguments + (and (condition-case nil + (backward-up-list) + (error nil)) + (eq (char-after) ?<) + )) + )))) (goto-char indent-point) (setq placeholder (c-beginning-of-member-init-list lim)) @@ -5984,8 +5992,11 @@ (eq (char-after placeholder) ?<)))))) ;; we can probably indent it just like an arglist-cont (goto-char placeholder) - (c-beginning-of-statement-1 lim t) - (c-add-syntax 'template-args-cont (c-point 'boi))) + (while (save-excursion + (and (zerop (c-backward-token-2 1 t lim)) + (looking-at "[