GNU bug report logs - #8438
24.0.50; C++ macro make indentation fail

Previous Next

Packages: emacs, cc-mode;

Reported by: Andrea Crotti <andrea.crotti.0 <at> gmail.com>

Date: Thu, 7 Apr 2011 11:28:02 UTC

Severity: normal

Found in version 24.0.50

Fixed in version 24.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andrea Crotti <andrea.crotti.0 <at> gmail.com>
To: Daniel Colascione <dan.colascione <at> gmail.com>
Cc: Alan Mackenzie <acm <at> muc.de>, 8438 <at> debbugs.gnu.org
Subject: bug#8438: 24.0.50; C++ macro make indentation fail
Date: Wed, 13 Apr 2011 11:44:00 +0200
Daniel Colascione <dan.colascione <at> gmail.com> writes:

>
> The problem actually has nothing to do with the macro:
> c-forward-decl-or-cast-1 is choking on the const because it's mistaking
> it for something that might be part of a member function pointer.
> Because c-forward-decl-or-cast-1 fails inside
> c-just-after-func-arglist-p, c-guess-basic-offset tries the next best
> thing, which happens to be a template argument continuation.
>
> The attached patch resolves the issue.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (Darwin)
>
> iEYEARECAAYFAk2la/kACgkQ17c2LVA10VtGawCeLYuZ7f1QKHsFgkrYzgWCNevZ
> nwQAoNStOC5JvnSs1G5sU92UrogmFAQW
> =mxeQ
> -----END PGP SIGNATURE-----
>
> === modified file 'lisp/progmodes/cc-engine.el'
> --- lisp/progmodes/cc-engine.el	2011-03-06 17:03:45 +0000
> +++ lisp/progmodes/cc-engine.el	2011-04-13 09:18:47 +0000
> @@ -6475,7 +6475,7 @@
>        ;; `c-font-lock-declarators'.)
>        (while (and (looking-at c-type-decl-prefix-key)
>  		  (if (and (c-major-mode-is 'c++-mode)
> -			   (match-beginning 2))
> +			   (match-beginning 3))
>  		      ;; If the second submatch matches in C++ then
>  		      ;; we're looking at an identifier that's a
>  		      ;; prefix only if it specifies a member pointer.

This patch solves the problem for me, also the constructor indentation
is now as it was in emacs 23.




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

Previous Next


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