GNU bug report logs -
#5209
23.1.90; CC Mode version 5.31.8 does not indent properly when writing new C files
Previous Next
Reported by: Steve Revilak <steve <at> srevilak.net>
Date: Sun, 13 Dec 2009 16:30:03 UTC
Severity: normal
Done: Steve Revilak <steve <at> srevilak.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your bug report
which was filed against the emacs,cc-mode package:
#5209: 23.1.90; CC Mode version 5.31.8 does not indent properly when writing new C files
It has been closed by Steve Revilak <steve <at> srevilak.net>.
Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Steve Revilak <steve <at> srevilak.net> by
replying to this email.
--
5209: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5209
Emacs Bug Tracking System
Contact bug-gnu-emacs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
I've tried this test case with
GNU Emacs 23.1.91.1 (powerpc-apple-darwin8.11.0, NS apple-appkit-824.48) of 2009-12-31 on spud
GNU Emacs 23.1.91.1 (x86_64-apple-darwin10.2.0, NS apple-appkit-1038.25) of 2009-12-31 on oatmeal
GNU Emacs 23.1.91.1 (i686-pc-linux-gnu, GTK+ Version 2.18.1) of 2009-12-31 on srevilak
The indentation problem no longer occurs with Emacs 23.1.91.1.
Relative to the original "Steps to Reproduce",
* In step (5), typing the final semicolon causes the line "*x += 1;"
to be indented properly
* If I delete leading whitespace from "*x += 1;" and perform step (7),
then pressing TAB correctly indents the line.
* If I delete leading whitespace from "*x += 1;" and perform step
(8), then I find C-x h ESC C-\ correctly re-indents the entire
buffer.
Nice work!
Steve
[Message part 4 (application/pgp-signature, inline)]
[Message part 5 (message/rfc822, inline)]
[Message part 6 (text/plain, inline)]
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.
Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.
Please describe exactly what actions triggered the bug
and the precise symptoms of the bug. If you can, give
a recipe starting from `emacs -Q':
* * *
STEPS TO REPRODUCE
------------------
(1) Start emacs with the command line "emacs -nw -Q foo.c".
foo.c should be a new file, which does not exist prior to starting
emacs.
(2) Type "#include <stdio.h>" and RETURN
(3) Type RETURN to leave a blank line
(4) type "static void add_one(int * x) {" and RETURN
(5) type "*x += 1;" and RETURN
(6) type "}" and RETURN (to close the function definition)
NOTE: the statement written in step (5) is left-aligned to column
zero. The statement should be indented.
(7) Place point in column zero of the line "*x += 1;". Press TAB.
Before pressing TAB, "*x += 1;" is aligned to column zero. After
pressing TAB, "*x += 1;" is still aligned to column zero. TAB did
not indent the statement.
(8) Type "C-x h TAB" (i.e., to select and re-indent the entire
buffer).
The minibuffer displays "Indenting region... done". However, the
statement "*x += 1;" is still aligned to column zero.
After step 8, buffer "foo.c" looks like this:
---------------------------------
#include <stdio.h>
static void add_one(int * x) {
*x += 1;
}
---------------------------------
NOTE: the fourth line is not indented (but it should be).
NOTES:
-----
In buffer "foo.c", "M-x describe-key RET TAB" produces:
---------------------------------
TAB runs the command c-indent-line-or-region, which is an interactive
compiled Lisp function in `cc-cmds.el'.
It is bound to TAB, <menu-bar> <C> <Indent Line or Region>.
(c-indent-line-or-region &optional ARG REGION)
Indent active region, current line, or block starting on this line.
In Transient Mark mode, when the region is active, reindent the region.
Otherwise, with a prefix argument, rigidly reindent the expression
starting on the current line.
Otherwise reindent just the current line.
---------------------------------
NOTE: In step (8), when the entire buffer was selected, with transient
mark mode enabled, TAB did not re-indent the region correctly.
Likewise, in step (7) TAB did not re-indent the current line
("Otherwise reindent just the current line").
In buffer "foo.c", "M-x desribe-mode" produces:
---------------------------------
Enabled minor modes: Abbrev Auto-Composition Auto-Compression
Auto-Encryption File-Name-Shadow Font-Lock Global-Auto-Composition
Global-Font-Lock Line-Number Menu-Bar Mouse-Wheel Tool-Bar Tooltip
Transient-Mark
(Information about these minor modes follows the major mode info.)
C/l mode:
Major mode for editing K&R and ANSI C code.
To submit a problem report, enter `C-c C-b' from a
c-mode buffer. This automatically sets up a mail buffer with version
information already added. You just need to add a description of the
problem, including a reproducible test case, and send the message.
To see what version of CC Mode you are running, enter `M-x c-version'.
The hook `c-mode-common-hook' is run with no args at mode
initialization, then `c-mode-hook'.
[rest of describe-mode output omitted]
---------------------------------
M-x c-version produces the following:
---------------------------------
Using CC Mode version 5.31.8
---------------------------------
Finally, the same behavior occurs when emacs is started as "emacs -Q"
(i.e., if the -nw option is ommitted from the command line).
* * *
If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
`bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/Applications/Emacs.app/Contents/Resources/etc/DEBUG.
In GNU Emacs 23.1.90.1 (i386-apple-darwin9.8.0, NS apple-appkit-949.54)
of 2009-12-09 on oatmeal.ma.runwaynine.com
Windowing system distributor `Apple', version 10.3.949
configured using `configure '--with-ns''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: C
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: nil
value of $XMODIFIERS: nil
locale-coding-system: nil
default enable-multibyte-characters: t
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
global-auto-composition-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
ESC x r e p o r t - e m a c s - b u TAB RET
Recent messages:
("/Applications/Emacs.app/Contents/MacOS/Emacs")
For information about GNU Emacs and the GNU system, type C-h C-a.
Load-path shadows:
None found.
Features:
(shadow mail-extr message ecomplete rfc822 mml mml-sec password-cache
mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231 rfc2047 rfc2045
qp ietf-drums mailabbrev nnheader gnus-util netrc time-date mm-util
mail-prsvr gmm-utils wid-edit mailheader canlock sha1 hex-util hashcash
mail-utils warnings emacsbug sendmail regexp-opt tooltip ediff-hook
vc-hooks lisp-float-type mwheel ns-win easymenu tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face text-properties
overlay md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process ns multi-tty
emacs)
[Message part 7 (application/pgp-signature, inline)]
This bug report was last modified 15 years and 143 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.