[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destr
From: |
Stefan Monnier |
Subject: |
bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring |
Date: |
Fri, 01 Sep 2023 19:24:56 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
> The problem seems to be the attempt to first match the spec
>
> (&define [&name symbolp "@cl-flet@"]
> [&name [] gensym] ;Make it unique!
> def-form)])
I think this is not right:
- `def-form` is for use by forms which will be run "later", meaning that
we can start executing those instrumented form while running
non-instrumented code (like the inside of a lambda), so it should not
be needed here: we should use just `form`.
- The &define+&name isn't quite right here. In `(cl-flet ((F EXP)) ...)`
it tells Edebug that EXP should be given the name F whereas the `cl-flet`
actually gives the name F to the value returned by EXP.
[ In terms of code coverage, F will then always be considered as
covered just because we have to execute EXP in order to discover the
function to bind to F. ]
I think that's why the old code had just `(symbolp form)`:
it's difficult with `(cl-flet ((F EXP)) ...)` to give a name to the
right thing :-(
Stefan
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring,
Stefan Monnier <=
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/09/02
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Stefan Monnier, 2023/09/02
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Stefan Monnier, 2023/09/02
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/09/03
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Stefan Monnier, 2023/09/03
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/09/03
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Stefan Monnier, 2023/09/04