From: Martin S. <ma...@ly...> - 2003-02-01 00:11:49
|
Charles Rich <ri...@me...> wrote: > <cursor>if ( p ) foo; > else { > bar(); > baz(); > } > => > > if ( p ) foo; > else { > bar(); > baz(); > } If I'm not mistaken, it's CC Mode 5.25 that's included in Emacs 20.6. This case doesn't work as you describe in that version; the point has to be at the start of the else line. The other case you mention works, however. > This has stopped working in Emacs 21.2.1 (cc-mode version 5.28). I > did a little investigation and discovered that instead of calling > parse-partial-sexp, c-indent-exp now calls c-forward-sexp, which only > moves the cursor past, e.g., "public" or "if" above. That's a bug (but it's not in the c-forward-sexp call itself). It has been fixed since, but I can't give you a localized patch due to widespread code changes. If you'd like it fixed you can get the development version by anonymous cvs (see http://cc-mode.sf.net/ anoncvs.php). The case with the if-else clause still doesn't work as you indicate though, but I doubt it ever has. |