GNU bug report logs - #8406
23.3; cc-engine.el incorrectly classifies member-init-intro as member-init-cont

Previous Next

Packages: emacs, cc-mode;

Reported by: Ian Masters <ian <at> dneg.com>

Date: Fri, 1 Apr 2011 16:21:02 UTC

Severity: normal

Tags: patch

Found in version 23.3

Done: Chong Yidong <cyd <at> gnu.org>

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 8406 in the body.
You can then email your comments to 8406 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 owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#8406; Package emacs. (Fri, 01 Apr 2011 16:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ian Masters <ian <at> dneg.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Fri, 01 Apr 2011 16:21:02 GMT) Full text and rfc822 format available.

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

From: Ian Masters <ian <at> dneg.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.3; cc-engine.el incorrectly classifies member-init-intro as
	member-init-cont
Date: Fri, 01 Apr 2011 12:08:37 +0100
This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your report will be posted to the bug-gnu-emacs <at> gnu.org mailing list
and the gnu.emacs.bug news group, and at http://debbugs.gnu.org.

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':

To reproduce the issue:

1. Launch emacs

emacs -Q

2. Create a new buffer

C-x b test.cpp <RET>

3. Enter c++ mode

M-x c++-mode <RET>

4. Insert the following constructor which includes a member initializer
list:

Class::Class(int i)
:m_i(i)
{

}

5. With point on the initializer list on line 2 query the syntactic
information:

C-c C-s

which returns:

((member-init-cont 28))

6. Add a space at the beginning of line 2 to give:

Class::Class(int i)
:m_i(i)
{

}

7. With point on the initializer list on line 2 query the syntactic
information again:

C-c C-s

now correctly identifies the line as intro rather than cont:

((member-init-intro 1))

8. The following change to lisp/progmodes/cc-engine.el fixes the issue:

8121c8121
<             (if (or (> tmp-pos indent-point)
---
>             (if (or (>= tmp-pos indent-point)

Thanks!

Ian

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
/u/iim/tools/apps/Linux64/emacs/emacs-23.3/share/emacs/23.3/etc/DEBUG.


In GNU Emacs 23.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.12.8)
of 2011-04-01 on redlynch
Windowing system distributor `The X.Org Foundation', version 11.0.10300000
configured using `configure  '--prefix=/u/iim/tools/apps/Linux64/emacs/emacs-23.3''

Important settings:
 value of $LC_ALL: nil
 value of $LC_COLLATE: nil
 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: en_GB
 value of $XMODIFIERS: nil
 locale-coding-system: iso-latin-1-unix
 default enable-multibyte-characters: t

Major mode: Fundamental

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
 blink-cursor-mode: t
 auto-encryption-mode: t
 auto-compression-mode: t
 line-number-mode: t
 transient-mark-mode: t

Recent input:
<help-echo> M-x b u <tab> <backspace> <backspace> r 
e [ p <backspace> <backspace> <tab> p o <tab> r t <tab> 
<return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Making completion list... [3 times]

Load-path shadows:
None found.

Features:
(shadow sort mail-extr message sendmail regexp-opt 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 emacsbug help-mode easymenu view
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting 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 files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind system-font-setting
font-render-setting gtk x-toolkit x multi-tty emacs)




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#8406; Package emacs,cc-mode. (Tue, 12 Apr 2011 15:03:02 GMT) Full text and rfc822 format available.

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

From: Ian Masters <ian <at> dneg.com>
To: 8406 <at> debbugs.gnu.org
Subject: Re: bug#8406: Acknowledgement (23.3;
	cc-engine.el incorrectly classifies
	member-init-intro as member-init-cont)
Date: Tue, 12 Apr 2011 16:02:34 +0100
Doh! Single spaces seem to get trimmed from the beginning of lines. Assuming I can get it right this time, step 6 should read:

6. Add a space at the beginning of line 2 to give:

Class::Class(int i)
 :m_i(i)
{

}

Cheerio!

Ian




Information forwarded to bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#8406; Package emacs,cc-mode. (Sun, 29 Jan 2012 07:15:02 GMT) Full text and rfc822 format available.

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

From: Chong Yidong <cyd <at> gnu.org>
To: Alan Mackenzie  <acm <at> muc.de>
Cc: 8406 <at> debbugs.gnu.org, Ian Masters <ian <at> dneg.com>
Subject: Re: bug#8406: 23.3;
	cc-engine.el incorrectly classifies member-init-intro as
	member-init-cont
Date: Sun, 29 Jan 2012 15:14:19 +0800
Hi Alan,

Could you review the following bug report, which has an attached patch?
Thanks.


Ian Masters <ian <at> dneg.com> writes:

> 1. Launch emacs
>
> emacs -Q
>
> 2. Create a new buffer
>
> C-x b test.cpp <RET>
>
> 3. Enter c++ mode
>
> M-x c++-mode <RET>
>
> 4. Insert the following constructor which includes a member initializer
> list:
>
> Class::Class(int i)
> :m_i(i)
> {
>
> }
>
> 5. With point on the initializer list on line 2 query the syntactic
> information:
>
> C-c C-s
>
> which returns:
>
> ((member-init-cont 28))
>
> 6. Add a space at the beginning of line 2 to give:
>
> Class::Class(int i)
>  :m_i(i)
> {
>
> }
>
> 7. With point on the initializer list on line 2 query the syntactic
> information again:
>
> C-c C-s
>
> now correctly identifies the line as intro rather than cont:
>
> ((member-init-intro 1))
>
> 8. The following change to lisp/progmodes/cc-engine.el fixes the issue:
>
> 8121c8121
> <             (if (or (> tmp-pos indent-point)
> ---
>>             (if (or (>= tmp-pos indent-point)




Information forwarded to bug-gnu-emacs <at> gnu.org, bug-cc-mode <at> gnu.org:
bug#8406; Package emacs,cc-mode. (Tue, 31 Jan 2012 22:05:02 GMT) Full text and rfc822 format available.

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

From: Alan Mackenzie <acm <at> muc.de>
To: Chong Yidong <cyd <at> gnu.org>
Cc: 8406 <at> debbugs.gnu.org, Ian Masters <ian <at> dneg.com>
Subject: Re: bug#8406: 23.3; cc-engine.el incorrectly classifies
	member-init-intro as member-init-cont
Date: Tue, 31 Jan 2012 22:04:05 +0000
Hi, Yidong!

On Sun, Jan 29, 2012 at 03:14:19PM +0800, Chong Yidong wrote:
> Hi Alan,

> Could you review the following bug report, which has an attached patch?
> Thanks.

The patch was just fine.  I've committed it to the trunk.

> Ian Masters <ian <at> dneg.com> writes:

> > 1. Launch emacs

> > emacs -Q

> > 2. Create a new buffer

> > C-x b test.cpp <RET>

> > 3. Enter c++ mode

> > M-x c++-mode <RET>

> > 4. Insert the following constructor which includes a member initializer
> > list:

> > Class::Class(int i)
> > :m_i(i)
> > {

> > }

> > 5. With point on the initializer list on line 2 query the syntactic
> > information:

> > C-c C-s

> > which returns:

> > ((member-init-cont 28))

> > 6. Add a space at the beginning of line 2 to give:

> > Class::Class(int i)
> >  :m_i(i)
> > {

> > }

> > 7. With point on the initializer list on line 2 query the syntactic
> > information again:

> > C-c C-s

> > now correctly identifies the line as intro rather than cont:

> > ((member-init-intro 1))

> > 8. The following change to lisp/progmodes/cc-engine.el fixes the issue:

> > 8121c8121
> > <             (if (or (> tmp-pos indent-point)
> > ---
> >>             (if (or (>= tmp-pos indent-point)

-- 
Alan Mackenzie (Nuremberg, Germany).




Reply sent to Chong Yidong <cyd <at> gnu.org>:
You have taken responsibility. (Wed, 01 Feb 2012 02:48:02 GMT) Full text and rfc822 format available.

Notification sent to Ian Masters <ian <at> dneg.com>:
bug acknowledged by developer. (Wed, 01 Feb 2012 02:48:02 GMT) Full text and rfc822 format available.

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

From: Chong Yidong <cyd <at> gnu.org>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 8406-done <at> debbugs.gnu.org, Ian Masters <ian <at> dneg.com>
Subject: Re: bug#8406: 23.3;
	cc-engine.el incorrectly classifies member-init-intro as
	member-init-cont
Date: Wed, 01 Feb 2012 10:47:12 +0800
Alan Mackenzie <acm <at> muc.de> writes:

> The patch was just fine.  I've committed it to the trunk.

Thanks all.  Closing the bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 29 Feb 2012 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 13 years and 118 days ago.

Previous Next


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