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

Packages: emacs, cc-mode;

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

From: bug-gnu-emacs <at> gnu.org (Emacs bug Tracking System)
To: Steve Revilak <steve <at> srevilak.net>
Subject: bug#5209 closed by Steve Revilak <steve <at> srevilak.net> (Re: CC
 Mode version 5.31.8 does not indent properly when writing new C files)
Date: Fri, 01 Jan 2010 00:50:03 +0000
[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)]
From: Steve Revilak <steve <at> srevilak.net>
To: 5209-done <at> debbugs.gnu.org
Subject: Re: CC Mode version 5.31.8 does not indent properly when writing
	new C files
Date: Thu, 31 Dec 2009 14:39:02 -0500
[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)]
From: Steve Revilak <steve <at> srevilak.net>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.1.90; CC Mode version 5.31.8 does not indent properly when
	writing new C files
Date: Sun, 13 Dec 2009 11:22:10 -0500
[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.