all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Richard Copley <rcopley@gmail.com>
To: Alan Mackenzie <acm@muc.de>
Cc: Matthias Meulien <orontee@gmail.com>,
	Emacs Development <emacs-devel@gnu.org>
Subject: Re: Calling C++ hackers. Please try out the new handling of C++11 lambda functions in CC Mode.
Date: Wed, 24 Aug 2016 22:10:32 +0100	[thread overview]
Message-ID: <CAPM58oiYHzLk4KKd+Nt40F5sv+6FUAybP7kG5ZQYVDRaH_sHiw@mail.gmail.com> (raw)
In-Reply-To: <20160824194352.GD4920@acm.fritz.box>

On 24 August 2016 at 20:43, Alan Mackenzie <acm@muc.de> wrote:
> Hello, Richard.
>
> On Wed, Aug 24, 2016 at 08:27:58PM +0100, Richard Copley wrote:
>> Hi Alan,
>
>> Thanks for this!
>
>> I encountered a problem while trying to come up with an
>> example so I could suggest a different default indentation
>> style for lambda bodies:
>
>> int main ()
>> {
>>   std::cout << ([] (int x) -> int {
>>     return 2 * x;
>>   } (10)) << std::endl;
>> }
>
>> Never mind the default indentation style, life's too short!
>> But here is the problem I mentioned. I just pulled from master
>> and recompiled and the bug is still present (as of your
>> commit 799a8a3338389013e8a76a70f507664ccb09a14f).
>
>> >>From emacs -Q:
>
>> C-x b x RET ; switch to a new buffer
>> M-x c++-mode RET
>> { } C-p ; insert a pair of braces and put point between them
>> [ ; insert a left square bracket
>
>> Emacs freezes. It can be woken up by holding down C-g
>> for a few seconds, at which point the *Messages*
>> buffer has this:
>
>> Error during redisplay: (jit-lock-function 55) signaled (quit)
>> Error during redisplay: (jit-lock-function 57) signaled (quit)
>> Error during redisplay: (jit-lock-function 60) signaled (quit)
>> Quit [7 times]
>
> Thanks for taking the trouble to report this.  What appears to be the
> same problem was reported by Yakov Markovitch on the CC Mode list
> yesterday evening.  I've investigated this and prepared a putative fix.
>
> That fix is in the patch below.  Could you please apply the patch,
> recompile CC Mode and try it out in normal C++ code, then let me know (a
> second opinion besides Yakov's) whether it fixes the problem completely.
>
> Thanks!  At the moment, I'm trying to get everything tidied up to
> release CC Mode 5.33, and I'm hoping that this is the _last_ "last
> minute" bug.
>
>
>
> diff -r f3c92d9e3424 cc-fonts.el
> --- a/cc-fonts.el       Sun Aug 21 15:17:45 2016 +0000
> +++ b/cc-fonts.el       Tue Aug 23 20:36:35 2016 +0000
> @@ -1654,7 +1654,7 @@
>             (c-backward-token-2)))
>
>         ;; Go round the following loop once per captured item.
> -       (while (and (not (eq (char-after) ?\]))
> +       (while (and (not (looking-at "\\s)"))
>                     (< (point) limit))
>           (if (eq (char-after) ?&)
>               (progn (setq mode ?&)
> @@ -1703,7 +1703,7 @@
>             (c-forward-syntactic-ws)))
>
>         (setq capture-default nil)
> -       (forward-char))))                       ; over the terminating "]".
> +       (forward-char))))              ; over the terminating "]" or whatever.
>    nil)
>
>
>
> --
> Alan Mackenzie (Nuremberg, Germany).

Great, thank you. I didn't have time to test much, but I haven't
noticed any problems with the patch installed. Couldn't reproduce
the problem I was talking about.



  reply	other threads:[~2016-08-24 21:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-15 12:24 Calling C++ hackers. Please try out the new handling of C++11 lambda functions in CC Mode Alan Mackenzie
2016-08-15 16:17 ` Eli Zaretskii
2016-08-19 21:45 ` Matthias Meulien
2016-08-20 15:19   ` Alan Mackenzie
2016-08-20 22:06     ` Matthias Meulien
2016-08-21 12:24       ` Alan Mackenzie
2016-08-27 15:35         ` Matthias Meulien
2016-08-27 20:27           ` Alan Mackenzie
2016-08-21 16:22       ` Alan Mackenzie
2016-08-24 19:27         ` Richard Copley
2016-08-24 19:43           ` Alan Mackenzie
2016-08-24 21:10             ` Richard Copley [this message]
2016-08-27 15:37         ` Matthias Meulien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAPM58oiYHzLk4KKd+Nt40F5sv+6FUAybP7kG5ZQYVDRaH_sHiw@mail.gmail.com \
    --to=rcopley@gmail.com \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    --cc=orontee@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.