[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#48585: 28.0.50; Missing Edebug instrumentation for some 'if-let' var
From: |
Lars Ingebrigtsen |
Subject: |
bug#48585: 28.0.50; Missing Edebug instrumentation for some 'if-let' variants |
Date: |
Fri, 15 Jul 2022 12:16:25 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
Philipp <p.stephani2@gmail.com> writes:
> Instrument the following definition using C-u C-M-x:
> (defun f (x) (if-let* (x) 1))
>
> Then, evaluate this form:
> (f 2)
>
> Edebug will step into 'f', but won't stop at 'x'.
>
> The problem lies in this part of the Edebug specification for 'if-let*':
>
> [&or symbolp (symbolp form) (form)]
>
> The 'symbolp' specification element causes Edebug to not instrument the
> 'x' symbol. However, the 'symbolp' specification is also necessary
> here; we couldn't just replace it with 'form' because that would make
> the branches overlap. What we'd need here is something like
> [&and symbolp form], i.e. match only in case of a symbol, but also
> instrument as a form. IIUC Edebug doesn't support such constructs yet.
Perhaps Stefan has some comments here; added to the CCs.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
- bug#48585: 28.0.50; Missing Edebug instrumentation for some 'if-let' variants,
Lars Ingebrigtsen <=