gjditchfield@watrose.UUCP (01/15/87)
I'm using Gnu version 17.64.2 on a vax running BSD4.2. I can't quite
get C-mode to indent the way I want.
What I want is: What I get is:
fn1(x) |fn1(x)
int x; | int x;
{ |{
if (x) { | if (x) {
x = 0; | x = 0;
} | }
} | }
main() | main()
{ |{
int asdf = 1; | int asdf = 1;
fn1( asdf); | fn1( asdf);
} | }
The scheme is that indentation increases after '{', and decreases after '}'.
The problem is that indentation does not decrease after the '}' that closes a
function (although it does decrease for '}'s inside functions). My .emacs file
contains
(setq c-indent-level 0)
(setq c-brace-imaginary-offset 4)
(setq c-continued-statement-offset 4)
(setq c-argdecl-indent 4)
(setq c-label-offset -2)
What have I done wrong?
By the way, does anyone out there have a C++ mode? (It would be just like
C mode, except that ':' is used for things other than labels.)
--
Glen Ditchfield {watmath,utzoo,ihnp4}!watrose!gjditchfield
Dept of Computer Science, U of Waterloo (519) 885-1211 x6658
Waterloo, Ontario, Canada
"Flame not, lest thou be singed" - Mr. Protocolguzzi@uicsrd.CSRD.UIUC.EDU (01/19/87)
> /* Written Jan 15, 1987 by gjditchfield@watrose.UUCP in uicsrd:comp.emacs */ > /* ---------- "Gnu C-mode indentation (and C++)" ---------- */ > I'm using Gnu version 17.64.2 on a vax running BSD4.2. I can't quite > get C-mode to indent the way I want. > > What I want is: What I get is: > > fn1(x) |fn1(x) > int x; | int x; > { |{ > } | } > main() | main() > { |{ > } | } > > /* End of text from uicsrd:comp.emacs */ I have noticed the same problem, and I attribute it to a bug in the C mode. If you place a ";" after the "}" that closes the function fn1, then the indentation works correctly. It doesn't seem to see the "}" as the end of the function, but needs a ";" to indicate the end. --Mark Guzzi University of Illinois at Urbana-Champaign ARPA: guzzi@uicsrd.csrd.uiuc.edu guzzi%uicsrd@uiuc.arpa CSNET: guzzi%uicsrd@uiuc USENET: {siesmo,ihnp4,cmcl2,pur-ee}!uiucdcs!uicsrd!guzzi