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

From: Michael Heerdegen <[email-masked]>
Date: Thu, 24 Aug 2023 03:14:52 +0200

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

> Edebug then matches def-form with ((x y)) or (&rest x), and it finds it
> doesn't match.  I would have expected that this leads to backtracking
> and trying the second alternative of the &or, but that's not
> happening.

It's very similar to the originally reported problem.  As I said - maybe
look at `edebug-list-form' which is called in both cases and
intentionally inhibits backtracking, AFAIU.

> So, at the moment we're kinda stuck with the situation that local
> functions that look like local-functions with empty body, like
>
>   (cl-flet ((fn (...)))
>     ...)
>
> are not instrumented like the cl-flet extension case.  That's not a
> catastrphy, I guess.

Nothing in Emacs is a catastrophe (it's not the real world), but
debugging bugs are the least thing I want to cope with when debugging a
bug.

Michael.