From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Geoffrey Furnish Newsgroups: gmane.emacs.bugs Subject: CC Mode 5.28 (C++); trouble formatting template decls Date: Thu, 25 Apr 2002 22:22:33 -0700 Sender: bug-gnu-emacs-admin@gnu.org Message-ID: <200204260522.g3Q5MXt09799@xiphi.lsscorp.com> NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1019798833 2247 127.0.0.1 (26 Apr 2002 05:27:13 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 26 Apr 2002 05:27:13 +0000 (UTC) Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 170yGG-0000a7-00 for ; Fri, 26 Apr 2002 07:27:13 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 170yGM-0001Mu-00; Fri, 26 Apr 2002 01:27:18 -0400 Original-Received: from [64.213.39.2] (helo=lightspeed.com) by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) id 170yDB-0001FW-00; Fri, 26 Apr 2002 01:24:01 -0400 Original-Received: from xiphi.lsscorp.com ([192.168.2.91] verified) by lightspeed.com (CommuniGate Pro SMTP 3.5.9) with ESMTP id 527568; Thu, 25 Apr 2002 22:16:07 -0700 Original-Received: (from furnish@localhost) by xiphi.lsscorp.com (8.11.6/8.11.6) id g3Q5MXt09799; Thu, 25 Apr 2002 22:22:33 -0700 Original-To: bug-gnu-emacs@gnu.org, bug-cc-mode@gnu.org Errors-To: bug-gnu-emacs-admin@gnu.org X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Bug reports for GNU Emacs, the Swiss army knife of text editors List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.bugs:958 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:958 Hello Barry, I'm not sure this counts as a bug report, maybe more like an enhancement request. I was kinda hoping that cc-mode would help me out with auto indenting of complex template parameter lists in template decls. These are becoming a little more idiomatic these days. Here's an example of what cc-mode is doing right now: template< class A, template< class T, class U > class B, template < class R, class S > What I was hoping for was something like this: template< class A, template< class T, class U > class B, // or maybe with hanging <, like this: template < class R, class S > class C > class X {}; In other words, inside a template decl, <> should behave kinda like {}. Emacs : XEmacs 21.4 (patch 6) "Common Lisp" [Lucid] (i686-pc-linux) of Mon Mar 18 2002 on xiphi.lsscorp.com Package: CC Mode 5.28 (C++) Buffer Style: rtt c-emacs-features: (8-bit) current state: ============== (setq c-basic-offset 4 c-comment-only-line-offset 0 c-block-comment-prefix "* " c-comment-prefix-regexp '((pike-mode . "//+!?\\|\\**") (other . "//+\\|\\**")) c-cleanup-list '(scope-operator) c-hanging-braces-alist '((brace-list-open) (brace-entry-open) (substatement-open after) (block-close . c-snug-do-while) (extern-lang-open after) (inexpr-class-open after) (inexpr-class-close before)) c-hanging-colons-alist nil c-hanging-semi&comma-criteria '(c-semi&comma-inside-parenlist) c-backslash-column 48 c-label-minimum-indentation 1 c-offsets-alist '((string . c-lineup-dont-change) (c . c-lineup-C-comments) (defun-open . 0) (defun-close . 0) (defun-block-intro . +) (class-open . 0) (class-close . 0) (inline-close . 0) (func-decl-cont . +) (knr-argdecl . 0) (topmost-intro . 0) (topmost-intro-cont . 0) (member-init-intro . +) (member-init-cont . c-lineup-multi-inher) (inher-intro . +) (inher-cont . c-lineup-multi-inher) (block-open . 0) (block-close . 0) (brace-list-close . 0) (brace-list-intro . +) (brace-list-entry . 0) (brace-entry-open . 0) (statement . 0) (statement-case-intro . +) (substatement . +) (case-label . 0) (access-label . -2) (do-while-closure . 0) (else-clause . 0) (catch-clause . 0) (comment-intro . -) (arglist-cont . 0) (arglist-cont-nonempty . c-lineup-arglist) (stream-op . c-lineup-streamop) (inclass . +) (cpp-macro . [0]) (cpp-macro-cont . c-lineup-dont-change) (friend . 0) (objc-method-intro . [0]) (objc-method-args-cont . c-lineup-ObjC-method-args) (objc-method-call-cont . c-lineup-ObjC-method-call) (extern-lang-open . 0) (extern-lang-close . 0) (inextern-lang . +) (namespace-open . 0) (namespace-close . 0) (innamespace . +) (template-args-cont c-lineup-template-args +) (inlambda . c-lineup-inexpr-block) (lambda-intro-cont . +) (inexpr-statement . 0) (inexpr-class . +) (statement-block-intro . +) (knr-argdecl-intro . +) (substatement-open . 0) (label . 2) (statement-case-open . 0) (statement-cont . +) (arglist-intro . +) (arglist-close . +) (inline-open . 0) (brace-list-open . 0) ) c-delete-function 'delete-char c-electric-pound-behavior nil c-indent-comments-syntactically-p nil c-tab-always-indent t defun-prompt-regexp nil tab-width 8 comment-column 32 parse-sexp-ignore-comments t signal-error-on-buffer-boundary t auto-fill-function 'c-do-auto-fill comment-multi-line t comment-start-skip "/\\*+ *\\|//+ *" fill-prefix nil paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^ " adaptive-fill-mode t adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([ ]*\\([#;>*]+ +\\)?\\)" )