Subject: Re: bug#72200: 30.0.50; cl-flet over cl-symbol-macrolet may expand improperly

From: Stefan Monnier <[email-masked]>
Date: Sun, 21 Jul 2024 18:09:50 -0400

> The issue is with recent Emacs built from vcs.
>
> emacs -Q --batch --eval "(progn (require 'cl-macs) (cl-flet ((f () (print
> \"f is called\"))) (cl-symbol-macrolet ((x (f))) (setf x 'x1))))"
>
> attempts to call (setf funcall) which is not defined.  It should call
> (setf f) instead.

The interaction between `cl-flet` and `cl-symbol-macrolet` is
pretty delicate.

The interaction between `cl-flet` and `(setf f)` is beyond delicate
(AFAIK we've never claimed to support it, tho IIRC there were cases
where it happened to DTRT, a bit like a broken clock).

Combining the two is sure to bring fun for the whole family, yes.  🙁

        Stefan