bug#55771: [Michael Welsh Duggan] bug#55771: 29.0.50; cc-mode based uninterruptible infloop

Michael Welsh Duggan <[email protected]> Wed, 08 Jun 2022 00:30:45 -0400
Newsgroups gmane.emacs.cc-mode.general
Message-ID <[email protected]>
Alan Mackenzie <[email protected]> writes:

> Can I ask you, please, to try out the following patch, and let me know
> if it fixes the bug in your real C++ code.
>
> I don't want to commit this yet, since I haven't yet checked CC Mode for
> the same bug somewhere else (and it's getting late, here).  I may not
> have much time to look at this in the next few days.

It seems to have fixed this problem.  I'll let you know if I run into
anything else.

> diff -r 6057991425e3 cc-engine.el
> --- a/cc-engine.el	Tue May 24 16:11:52 2022 +0000
> +++ b/cc-engine.el	Tue Jun 07 20:33:41 2022 +0000
> @@ -8312,9 +8312,10 @@
>  (defun c-forward-noise-clause ()
>    ;; Point is at a c-noise-macro-with-parens-names macro identifier.  Go
>    ;; forward over this name, any parenthesis expression which follows it, and
> -  ;; any syntactic WS, ending up at the next token.  If there is an unbalanced
> -  ;; paren expression, leave point at it.  Always Return t.
> -  (c-forward-token-2)
> +  ;; any syntactic WS, ending up at the next token or EOB.  If there is an
> +  ;; unbalanced paren expression, leave point at it.  Always Return t.
> +  (or (zerop (c-forward-token-2))
> +      (goto-char (point-max)))
>    (if (and (eq (char-after) ?\()
>  	   (c-go-list-forward))
>        (c-forward-syntactic-ws))
>
>
>
>> In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0)
>>  of 2022-06-02 built on miko
>> Repository revision: 8f279c8666dc642ed1f8f49aa709530fcea47374
>> Repository branch: master
>> Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
>> System Description: Debian GNU/Linux bookworm/sid
>
>> Configured using:
>>  'configure --without-toolkit-scroll-bars --with-x-toolkit=lucid
>>  --with-native-compilation --with-xinput2 'CFLAGS=-Og -ggdb''
>
> [ .... ]
>
>> -- 
>> Michael Welsh Duggan
>> ([email protected])

-- 
Michael Welsh Duggan
([email protected])