Subject: bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring

From: Michael Heerdegen <[email-masked]>
Date: Fri, 18 Aug 2023 07:58:13 +0200

Gerd Möllmann <[email-masked]> writes:

> which I would naively expect to be suitable for a single function in
> an flet/labels.  (Maybe without the (setf ...) case, I'm not sure
> ATM).

That's correct, but only one part.

> Do you perhaps have an insight why there are two &name in the flet
> spec?

Eh - not really.  That's some internal magic - to correctly associate
the code with the function names or something like that, I guess.

> Also naively asked, what does the &or in the flet case mean?  Does it
> say that that the elements of the flet can either be symbols or
> functions?

There is a second syntax to support: a function binding can also have
the syntax (fname EXPR) instead of (fname args body...).  EXPR can be a
lambda expression but also any arbitrary Lisp returning a function
value.

Michael.