GNU bug report logs - #71120
29.3; buglet in cl-loop

Previous Next

Package: emacs;

Reported by: Philippe Schnoebelen <phs <at> lmf.cnrs.fr>

Date: Wed, 22 May 2024 14:49:02 UTC

Severity: normal

Found in version 29.3

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Andrea Corallo <acorallo <at> gnu.org>
Cc: 71120 <at> debbugs.gnu.org, Mattias EngdegÄrd <mattiase <at> acm.org>, Philip Kaludercic <philipk <at> posteo.net>, Philippe Schnoebelen <phs <at> lmf.cnrs.fr>
Subject: bug#71120: 29.3; buglet in cl-loop
Date: Wed, 29 May 2024 21:45:26 -0400
>>   (let* ((<fresh-variable> 1) (--cl-var-- nil))
>>     (while (<= <fresh-variable> 100)
>>       (let ((_i <fresh-variable>))
>> 	(setq --cl-var-- (cons (random 6) --cl-var--))
>> 	(setq <fresh-variable> (+ <fresh-variable> 1))))
>>     (nreverse --cl-var--))
>>
>> I have added Mattias and Stefan to the CCs, as they'll probably have
>> more qualified comments to add.

Not really: There's a similar problem with `cl-destructuring-bind` and
similarly, when I started to look at the corresponding code I quickly
gave up.

At least for `cl-destructuring-bind` I think I understand the intended
behavior well enough that I might be able to implement code which
behaves as we want (tho I don't know how to *modify* the existing code
to reach that stage).

In the case of `cl-loop` the intended behavior is much too complex for
my poor head, so I don't think I'd be able to decide whether it does the
right thing for all cases.


        Stefan





This bug report was last modified 78 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.