Subject: Re: bug#34481: 27.0.50; cl-flet, cl-labels and lambda expressions

From: Stefan Monnier <[email-masked]>
Date: Mon, 01 Mar 2021 11:23:01 -0500

>> BTW, do you have an opinion about allowing (SYMBOL LAMBDA-EXPR) binding
>> syntax for cl-labels and cl-macrolet?  The reason why I want this is (1)
>> I often try to use this syntax and it doesn't work, and (2) it indents
>> more nicely.

I made this syntax work for `cl-flet`, so I'm not opposed to allowing it
for `cl-macrolet` and `cl-labels`.

> Which is to allow (cl-labels ((foo (lambda () ...)))) as an alternative
> syntax, if I understood the proposal correctly?

BTW, when I added it to `cl-flet` the main purpose wasn't to
write `(cl-flet ((f (lambda ...))) ...)` but rather to write
`(cl-flet ((f x)) ...)` or more generally to compute at runtime which
function to bind to `f`, without having to introduce an η-redex.

As for indentation, I consider the way we currently indent `cl-labels`
and friends as a bug.

        Stefan