GNU bug report logs -
#8438
24.0.50; C++ macro make indentation fail
Previous Next
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
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.