[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line
From: |
Basil L. Contovounesios |
Subject: |
Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language |
Date: |
Fri, 20 Aug 2021 23:43:30 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Alan Mackenzie [2021-08-20 21:20 +0000] wrote:
> On Fri, Aug 20, 2021 at 10:48:04 +0000, Alan Mackenzie wrote:
>
>> The problem is a bug in c-point-syntax. There, there is
>> (i) an invocation of c-save-buffer-state, which binds buffer-undo-list
>> to t, followed by
>> (ii) an invocation of c-tentative-buffer-changes, which pushes nil onto
>> buffer-undo-list (simulating an undo group) giving (nil t).
>> (iii) A { is typed into the buffer, giving buffer-undo-list now as
>> something like ((5128 . 5129) nil t).
>> At this point garbage collection occurs. This strips the tail of
>> buffer-undo-list, leaving ((5128 . 5129)).
>> (iv) In c-tnt-chng-cleanup, primitive-undo is repeated infinitely,
>> since buffer-undo-list will never become the expected value (nil t).
>
>> The problem would appear to be the invalid value ((5128 . 5129) nil t) in
>> buffer-undo-list.
>
>> I'll see what I can do about this tonight.
>
> I've just committed a patch to master which I think fixes the problem.
Thanks! That indeed fixes the hang here.
If it stops the hangs from happening on Hydra as well, then the relevant
electric-tests will no longer need to be skipped there.
I see only one minor issue with the patch: it introduces a use of the
macro c-benign-error before its definition, which gives rise to a
byte-compiler warning. I would have moved the macro's definition
myself, but I see the file is organised in a particular way, so I leave
that to you.
Thanks,
--
Basil
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, (continued)
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/18
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/18
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/18
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Basil L. Contovounesios, 2021/08/18
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/20
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/20
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language,
Basil L. Contovounesios <=
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/21
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Eli Zaretskii, 2021/08/21
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Alan Mackenzie, 2021/08/21
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Eli Zaretskii, 2021/08/21
- Re: master c4d34d2: CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language, Basil L. Contovounesios, 2021/08/18