GNU bug report logs - #24022
24.5; C indentation failure

Previous Next

Packages: emacs, cc-mode;

Reported by: robgssp <at> gmail.com

Date: Mon, 18 Jul 2016 20:34:02 UTC

Severity: normal

Found in version 24.5

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 24022 in the body.
You can then email your comments to 24022 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#24022; Package emacs. (Mon, 18 Jul 2016 20:34:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to robgssp <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 18 Jul 2016 20:34:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: robgssp <at> gmail.com
To: bug-gnu-emacs <at> gnu.org
Subject: 24.5; C indentation failure
Date: Sun, 17 Jul 2016 12:19:34 -0700
c-mode fails to indent correctly when a #if is followed by a
comment. Example:

int main() {
#if defined(a) // comment
  if (b) {
  body();
}
#endif
  }

Clearly this isn't the correct indentation. A clean run under -Q behaves
the same way.



In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.6)
 of 2016-06-04 on juergen
Windowing system distributor `The X.Org Foundation', version 11.0.11803000
System Description:	Arch Linux

Configured using:
 `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
 -fstack-protector-strong' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: C/l

Minor modes in effect:
  tooltip-mode: t
  electric-indent-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
(New file)
Quit
Auto-saving...

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils cc-langs cl-loaddefs cl-lib cc-mode
cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs time-date tooltip electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar 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 minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
gfilenotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty emacs)

Memory information:
((conses 16 103095 4287)
 (symbols 48 20066 0)
 (miscs 40 40 160)
 (strings 32 16635 4321)
 (string-bytes 1 568293)
 (vectors 16 11333)
 (vector-slots 8 412487 3082)
 (floats 8 63 155)
 (intervals 56 216 16)
 (buffers 960 12)
 (heap 1024 42192 1129))




Information forwarded to bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#24022; Package emacs,cc-mode. (Thu, 21 Jul 2016 19:32:01 GMT) Full text and rfc822 format available.

Message #8 received at 24022 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: robgssp <at> gmail.com
Cc: 24022 <at> debbugs.gnu.org
Subject: Re: bug#24022: 24.5; C indentation failure
Date: 21 Jul 2016 19:31:18 -0000
Hello, robgssp.

In article <mailman.1656.1468874050.26859.bug-gnu-emacs <at> gnu.org> you wrote:

> c-mode fails to indent correctly when a #if is followed by a
> comment. Example:

> int main() {
> #if defined(a) // comment
>   if (b) {
>   body();
> }
> #endif
>   }

> Clearly this isn't the correct indentation. A clean run under -Q behaves
> the same way.

Yes.

Thanks for taking the trouble to report this problem, and thanks even
more for cutting the source down to a small, easy to handle test case.

There have been extensive changes to CC Mode since the release of Emacs
24.5, and the problem isn't apparent in more recent versions.  Bisecting
the changes in mercurial suggest that this bug was "solved" by a commit on
2016-05-29.

I've tried to adapt this commit so that it will apply to the Emacs 24.5
sources, but the changes are just too many for this to be practicable.

Would it be OK for me to send you a tarball of the up-to-date CC Mode
sources (~1.34 Mb) so that you could build these on Emacs 24.5 and check
that the error really has been fixed (and not just in the cut down test
case you've sent me)?

> In GNU Emacs 24.5.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.20.6)
>  of 2016-06-04 on juergen
> Windowing system distributor `The X.Org Foundation', version 11.0.11803000
> System Description:     Arch Linux

> Configured using:
>  `configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
>  --localstatedir=/var --with-x-toolkit=gtk3 --with-xft
>  'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe
>  -fstack-protector-strong' CPPFLAGS=-D_FORTIFY_SOURCE=2
>  LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro'

> Important settings:
>   value of $LANG: en_US.UTF-8
>   locale-coding-system: utf-8-unix

> Major mode: C/l

-- 
Alan Mackenzie (Nuremberg, Germany).





Information forwarded to bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#24022; Package emacs,cc-mode. (Sun, 29 Sep 2019 05:03:02 GMT) Full text and rfc822 format available.

Message #11 received at 24022 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Alan Mackenzie <acm <at> muc.de>
Cc: robgssp <at> gmail.com, 24022 <at> debbugs.gnu.org
Subject: Re: bug#24022: 24.5; C indentation failure
Date: Sun, 29 Sep 2019 07:02:35 +0200
Alan Mackenzie <acm <at> muc.de> writes:

> Hello, robgssp.
>
> In article <mailman.1656.1468874050.26859.bug-gnu-emacs <at> gnu.org> you wrote:
>
>> c-mode fails to indent correctly when a #if is followed by a
>> comment. Example:
>
>> int main() {
>> #if defined(a) // comment
>>   if (b) {
>>   body();
>> }
>> #endif
>>   }
>
>> Clearly this isn't the correct indentation. A clean run under -Q behaves
>> the same way.
>
> Yes.
>
> Thanks for taking the trouble to report this problem, and thanks even
> more for cutting the source down to a small, easy to handle test case.
>
> There have been extensive changes to CC Mode since the release of Emacs
> 24.5, and the problem isn't apparent in more recent versions.  Bisecting
> the changes in mercurial suggest that this bug was "solved" by a commit on
> 2016-05-29.
>
> I've tried to adapt this commit so that it will apply to the Emacs 24.5
> sources, but the changes are just too many for this to be practicable.
>
> Would it be OK for me to send you a tarball of the up-to-date CC Mode
> sources (~1.34 Mb) so that you could build these on Emacs 24.5 and check
> that the error really has been fixed (and not just in the cut down test
> case you've sent me)?

Hi Alan,

It looks like this has been fixed, but you were awaiting some further
verification from the reporter.  Did you ever get such verification?

If not, perhaps we should just close this if you can't reproduce it.

I can't reproduce it on current master using the example given above.

Best regards,
Stefan Kangas




Information forwarded to bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#24022; Package emacs,cc-mode. (Sun, 29 Sep 2019 08:14:01 GMT) Full text and rfc822 format available.

Message #14 received at 24022 <at> debbugs.gnu.org (full text, mbox):

From: Alan Mackenzie <acm <at> muc.de>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: robgssp <at> gmail.com, 24022 <at> debbugs.gnu.org
Subject: Re: bug#24022: 24.5; C indentation failure
Date: Sun, 29 Sep 2019 08:13:43 +0000
Hello, Stefan

On Sun, Sep 29, 2019 at 07:02:35 +0200, Stefan Kangas wrote:
> Alan Mackenzie <acm <at> muc.de> writes:

> > Hello, robgssp.

> > In article <mailman.1656.1468874050.26859.bug-gnu-emacs <at> gnu.org> you wrote:

> >> c-mode fails to indent correctly when a #if is followed by a
> >> comment. Example:

> >> int main() {
> >> #if defined(a) // comment
> >>   if (b) {
> >>   body();
> >> }
> >> #endif
> >>   }

> >> Clearly this isn't the correct indentation. A clean run under -Q behaves
> >> the same way.

> > Yes.

> > Thanks for taking the trouble to report this problem, and thanks even
> > more for cutting the source down to a small, easy to handle test case.

> > There have been extensive changes to CC Mode since the release of Emacs
> > 24.5, and the problem isn't apparent in more recent versions.  Bisecting
> > the changes in mercurial suggest that this bug was "solved" by a commit on
> > 2016-05-29.

> > I've tried to adapt this commit so that it will apply to the Emacs 24.5
> > sources, but the changes are just too many for this to be practicable.

> > Would it be OK for me to send you a tarball of the up-to-date CC Mode
> > sources (~1.34 Mb) so that you could build these on Emacs 24.5 and check
> > that the error really has been fixed (and not just in the cut down test
> > case you've sent me)?

> Hi Alan,

> It looks like this has been fixed, but you were awaiting some further
> verification from the reporter.  Did you ever get such verification?

I never did, no.

> If not, perhaps we should just close this if you can't reproduce it.

We should indeed close it.  The problem has been solved.

> I can't reproduce it on current master using the example given above.

Indeed.  Does this go under "wontfix" or "solved", or some other status?
I marked it as "wontfix" in my own bug log, since I couldn't reasonably
fix it in Emacs 24.5.

> Best regards,
> Stefan Kangas

-- 
Alan Mackenzie (Nuremberg, Germany).




Information forwarded to bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#24022; Package emacs,cc-mode. (Sun, 29 Sep 2019 08:28:01 GMT) Full text and rfc822 format available.

Message #17 received at 24022 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Alan Mackenzie <acm <at> muc.de>
Cc: robgssp <at> gmail.com, 24022 <at> debbugs.gnu.org
Subject: Re: bug#24022: 24.5; C indentation failure
Date: Sun, 29 Sep 2019 10:27:25 +0200
Hi Alan,

Alan Mackenzie <acm <at> muc.de> writes:

> > If not, perhaps we should just close this if you can't reproduce it.
>
> We should indeed close it.  The problem has been solved.

Great.

> > I can't reproduce it on current master using the example given above.
>
> Indeed.  Does this go under "wontfix" or "solved", or some other status?
> I marked it as "wontfix" in my own bug log, since I couldn't reasonably
> fix it in Emacs 24.5.

If we know a specific version when it was fixed, I guess "close 24022
25.1" is best (if 25.1 is indeed the version).  Otherwise, I see no
reason why we can't close it without any specific tag.

Best regards,
Stefan Kangas




Reply sent to Stefan Kangas <stefan <at> marxist.se>:
You have taken responsibility. (Wed, 30 Oct 2019 20:30:03 GMT) Full text and rfc822 format available.

Notification sent to robgssp <at> gmail.com:
bug acknowledged by developer. (Wed, 30 Oct 2019 20:30:03 GMT) Full text and rfc822 format available.

Message #22 received at 24022-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Alan Mackenzie <acm <at> muc.de>
Cc: robgssp <at> gmail.com, 24022-done <at> debbugs.gnu.org
Subject: Re: bug#24022: 24.5; C indentation failure
Date: Wed, 30 Oct 2019 21:29:20 +0100
Stefan Kangas <stefan <at> marxist.se> writes:

>> > If not, perhaps we should just close this if you can't reproduce it.
>>
>> We should indeed close it.  The problem has been solved.
>
> Great.
>
>> > I can't reproduce it on current master using the example given above.
>>
>> Indeed.  Does this go under "wontfix" or "solved", or some other status?
>> I marked it as "wontfix" in my own bug log, since I couldn't reasonably
>> fix it in Emacs 24.5.
>
> If we know a specific version when it was fixed, I guess "close 24022
> 25.1" is best (if 25.1 is indeed the version).  Otherwise, I see no
> reason why we can't close it without any specific tag.

Closing this now.

Best regards,
Stefan Kangas




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 28 Nov 2019 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 199 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.