Subject: bug#67116: byte-compile-let: reversing the order of evaluation of the clauses CAN make a difference

From: Alan Mackenzie <[email-masked]>
Date: Mon, 13 Nov 2023 13:14:21 +0000

Hello, Mattias.

On Mon, Nov 13, 2023 at 12:19:27 +0100, Mattias Engdegård wrote:
> > There's a bug here, will fix.

> Now fixed on master. I'm very pleased that you reported this bug.
> (Of course it didn't have anything to do with order of evaluation at
> all but you already understood that.)

Thanks for the fix!

Yes, Stefan M. was right, here.  I think it was caused by a (relatively)
recent optimisation introduced into the compiler.

> I didn't do a deep analysis of what code was affected by the bug but
> measuring changes in the bytecode size, which is usually quite good,
> only two places turned up: jit-lock--debug-fontify, which you already
> noticed, and c-forward-sws in cc-engine.el, where the code

> 	      (c-put-in-sws rung-pos
> 			    (setq rung-pos (point)
> 				  last-put-in-sws-pos rung-pos)))

> was probably affected here. (Obviously the bug was out to get you
> personally, Alan.)

I'll have a look at that, sometime.  It somehow doesn't feel particularly
urgent at the moment.

-- 
Alan Mackenzie (Nuremberg, Germany).