GNU bug report logs - #65344
28.2; Unable to Edebug cl-flet form which uses argument destructuring

Previous Next

Package: emacs;

Reported by: Brandon Irizarry <brandon.irizarry <at> gmail.com>

Date: Wed, 16 Aug 2023 18:23:02 UTC

Severity: normal

Found in version 28.2

Fixed in version 30.1

Done: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gerd Möllmann <gerd.moellmann <at> gmail.com>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: brandon.irizarry <at> gmail.com, Eli Zaretskii <eliz <at> gnu.org>, 65344 <at> debbugs.gnu.org
Subject: bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring
Date: Fri, 18 Aug 2023 08:43:41 +0200
On 18.08.23 07:58, Michael Heerdegen wrote:
> Gerd Möllmann <gerd.moellmann <at> gmail.com> 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.

RIght, that's what I meant.

>> 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.

Ok. It's probably not important.

>> 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.

(Another nominee for the most obscure feature of the month.  That's also 
not in CL, BTW.)

When I try something like

(cl-flet (y (x (lambda () 1)))
  (x))

I get a not-a-list error from the Y.  That's kind of what I'm wondering. 
 The debug declaratino for flet has the symbolp at the same level as 
the local-function &define.

And, if that's the problem, the next question would then be how to 
declare a binding (FN VALUE).  Maybe (%define &name ... <something>)?




This bug report was last modified 1 year and 261 days ago.

Previous Next


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