[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: |
Michael Heerdegen |
Subject: |
bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring |
Date: |
Fri, 18 Aug 2023 01:07:44 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> Not remembering much about Edebug, but cl-defun seems to work with
> Edebug. So... :-)
Yes, this problem does not concern `cl-defun'. This is the Edebug spec
of `cl-flet':
#+begin_src emacs-lisp
((&rest [&or (symbolp form)
(&define [&name symbolp "@cl-flet@"]
[&name [] gensym] ;Make it unique!
cl-lambda-list
cl-declarations-or-string
[&optional ("interactive" interactive)]
def-body)])
cl-declarations body)
#+end_src
Instrumenting a binding first tries (symbolp form): This is the syntax
where you can specify an expression to evaluate whose result is then
fbound. Although we obviously have three elements to match in the
recipe case, Edebug tries nonetheless, and FORM raises an error because
it can't match ((min max)). It should just cause backtracking, but the
implementation disables backtracking by purpose.
When you replace (symbolp form) with (symbolp sexp) the problem is gone.
But that only silences the problem: this also disables the
instrumentation of a form in that position.
I'm too dumb to fix this correctly. We could transpose the two &or
branches in the spec, this works but it is also only a way to avoid the
problem.
Michael.
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Brandon Irizarry, 2023/08/16
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Michael Heerdegen, 2023/08/16
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/17
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Brandon Irizarry, 2023/08/17
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Eli Zaretskii, 2023/08/17
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/17
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring,
Michael Heerdegen <=
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/18
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Michael Heerdegen, 2023/08/18
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/18
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/19
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Michael Heerdegen, 2023/08/19
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/20
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Michael Heerdegen, 2023/08/20
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/20
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Michael Heerdegen, 2023/08/20
- bug#65344: 28.2; Unable to Edebug cl-flet form which uses argument destructuring, Gerd Möllmann, 2023/08/21