Subject: Re: bug#2141: C mode indentation problem
From: Alan Mackenzie <[email-masked]>
To: [email-masked]
Date: Sat, 21 Feb 2009 16:44:48 +0000

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).