--- Begin Message ---
Subject: |
C mode indentation problem |
Date: |
Sun, 1 Feb 2009 19:38:54 +0000 (GMT) |
User-agent: |
Alpine 2.00 (DEB 1167 2008-08-23) |
Running Emacs from CVS head as "./emacs -Q foo.c" to create a new buffer
foo.c in C mode, if I enter the following text, indenting as I go:
----cut here----
int main (void)
{
int foo;
switch (foo)
{
case BLAH | 'a':
bar = 0;
break;
---cut here----
it is indented as above, which I believe is wrong, as the "break" should be
indented to the same column as the previous line. If I change the case line
to simply "case BLAH:" then this does indeed happen.
--
http://rrt.sc3d.org/ | That's about as useful as a paper wok
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#2141: C mode indentation problem |
Date: |
Sat, 21 Feb 2009 16:44:48 +0000 |
User-agent: |
Mutt/1.5.9i |
On Sun, Feb 01, 2009 at 07:38:54PM +0000, Reuben Thomas wrote:
> Running Emacs from CVS head as "./emacs -Q foo.c" to create a new buffer
> foo.c in C mode, if I enter the following text, indenting as I go:
> ----cut here----
> int main (void)
> {
> int foo;
> switch (foo)
> {
> case BLAH | 'a':
> bar = 0;
> break;
> ---cut here----
> it is indented as above, which I believe is wrong, as the "break" should be
> indented to the same column as the previous line. If I change the case line
> to simply "case BLAH:" then this does indeed happen.
Fixed by enhancing c-beginning-of-statement-1 to handle (compile-time)
expressions as case labels.
--
Alan Mackenzie (Nuremberg, Germany).
--- End Message ---