Mandel@GRANITE.CR.BULL.COM ("Mark A. Mandel") (09/14/89)
In GNU Emacs C-mode, there is an indentation error in the following
situation:
(void)strcpy(whoami, *argv++ );
for (i = 0; i < r; i++)
x[r] = i;
(The details of the loop control and contents are irrelevant.) I have
indented the loop contents correctly. But C-mode indents it like this:
(void)strcpy(whoami, *argv++ );
for (i = 0; i < r; i++)
x[r] = i;
If the loop contents are enclosed in braces, indentation is correct. If
the cast of the function is removed, or if it is indented at all,
indentation is correct. But after a function cast beginning in the left
margin, unbraced (one-statement) for-loops are incorrectly indented. The
loop need not be directly after the cast for this effect to occur: its
effects extend indefinitely, even beyond the scope of the main(){...} that
encloses the cast.
The scope of the bug may be wider than I have described, but this is what I
have observed.
Reference (version info, extracted from "news of recent Emacs changes"):
GNU Emacs NEWS -- history of user-visible changes. 17-Aug-1988
Copyright (C) 1988 Free Software Foundation, Inc.
Changes in version 18.52.
-- Mark Mandel
Bull Worldwide Information Systems
300 Concord Rd., m/s 826A
Billerica, Mass. 01821
(508) 671-3387
Mandel@granite.cr.bull.com
/* My employer is not responsible for anything I say, do, think, or eat. */