[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CC Mode 5.28 (C++); Wrong indentation after case.
From: |
James KANZE |
Subject: |
CC Mode 5.28 (C++); Wrong indentation after case. |
Date: |
Thu, 19 Sep 2002 16:52:59 +0200 |
The presence of "case ... :" in a string confuses the indentation. The
following line is indented as if the "case" were the start of a case
lable. See the following program:
---------------------------------------------------------------
#include <iostream>
#include <ostream>
int
main( int argc, char** )
{
switch ( argc ) {
case 0 :
std::cout << "impossible\n" ;
break ;
case 1 :
std::cout << "no args\n" ;
break ;
default :
std::cout << "case not handled: " << argc << '\n' ;
break ;
}
return 0 ;
}
---------------------------------------------------------------
The last line containing a break is incorrectly indented.
Emacs : GNU Emacs 20.7.1 (sparc-sun-solaris2.8, X toolkit)
of Fri Oct 12 2001 on padev045
Package: CC Mode 5.28 (C++)
Buffer Style: gabi
c-emacs-features: (1-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 '((substatement-open before after))
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 . -)
(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 . -)
(do-while-closure . 0)
(else-clause . 0)
(catch-clause . 0)
(comment-intro . c-lineup-comment)
(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 . 0)
(namespace-open . 0)
(namespace-close . 0)
(innamespace . 0)
(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 . 0)
(statement-case-open . +)
(statement-cont . +)
(arglist-intro . +)
(arglist-close . 0)
(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 nil
defun-prompt-regexp nil
tab-width 8
comment-column 40
parse-sexp-ignore-comments t
auto-fill-function nil
comment-multi-line t
comment-start-skip "/\\*+ *\\|//+ *"
fill-prefix nil
paragraph-start "[ ]*\\(//+\\|\\**\\)[ ]*$\\|^\f"
adaptive-fill-mode t
adaptive-fill-regexp "[ ]*\\(//+\\|\\**\\)[ ]*\\([
]*\\([-|#;>*]+ *\\|(?[0-9]+[.)] *\\)*\\)"
)
"This message, including any attachments may contain confidential and
privileged material; it is intended only for the person to whom it is
addressed. Its contents do not constitute a commitment by Crédit
Agricole Indosuez Cheuvreux except where provided for in a written
agreement. Crédit Agricole Indosuez Cheuvreux assumes no liability or
responsibility for the consequences arising out of a delay and/or loss
in transit of this message, or for corruption or other error(s)
arising in its transmission and for any misuse or fraudulent use which
may be made thereof. If you are not the intended recipient, please
contact us and abstain from any disclosure, use or dissemination. To
the extent that this message contains research information and/or
recommendations, these are provided on the same basis as Crédit
Agricole Indosuez Cheuvreux's published research and the recipient
must have regard to all disclosures and disclaimers contained
therein."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- CC Mode 5.28 (C++); Wrong indentation after case.,
James KANZE <=