GNU bug report logs - #15728
24.3.50; cc-mode incorrectly parses particular macro

Previous Next

Packages: emacs, cc-mode;

Reported by: Dima Kogan <dima <at> secretsauce.net>

Date: Sun, 27 Oct 2013 04:17:02 UTC

Severity: normal

Found in version 24.3.50

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

Bug is archived. No further changes may be made.

Full log


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

From: Dima Kogan <dima <at> secretsauce.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; cc-mode incorrectly parses particular macro
Date: Sat, 26 Oct 2013 21:16:12 -0700
I have the following source file:

=========================================================================
int f(void)
{
#define A(b)								\
  int abc ## b;								\
    g()
}
=========================================================================

This indentation is what the latest emacs thinks is correct. Note that
the g() line is indented ahead of the 'int abc' line. This is wrong;
they should have the same indentation. Indeed this is what happens with
emacs23.

In the latest emacs the syntax parser thinks the g() line is
'statement-cont', instead of 'statement'; this is directly related to
the issue. Furthermore, the 'abc ## b' construct is what's confusing the
parser. Removing the '##' makes it parse correctly again.

I'm observing this issue with all emacs24 builds I've tried, with 'emacs
-Q'.




This bug report was last modified 11 years and 207 days ago.

Previous Next


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