GNU bug report logs -
#41988
28.0.50; Edebug unconditionally instruments definitions with &define specs
Previous Next
Reported by: Philipp <p.stephani2 <at> gmail.com>
Date: Sun, 21 Jun 2020 17:00:02 UTC
Severity: normal
Found in version 28.0.50
Done: Philipp Stephani <p.stephani2 <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello, Philipp.
In article <mailman.222.1592758804.2574.bug-gnu-emacs <at> gnu.org> you wrote:
> As an example, edebug-instrument (C-u C-M-x) the following definition:
> (defun bar ()
> (cl-flet ((foo () 1))
> (foo)))
> The *Messages* buffer now says
> Edebug: foo [2 times]
> Edebug: bar
> Note the '[2 times]'. I believe this is because `edebug-match-&define'
> calls `edebug-make-form-wrapper' unconditionally. The Edebug spec for
> `cl-flet' has two `&or' branches that both use `&define', so if the
> first one doesn't match it will still create a definition using
> `edebug-make-form-wrapper'. Probably `edebug-match-&define' should only
> invoke `edebug-make-form-wrapper' if the specification actually matches.
I don't understand why this is a bug. What precisely is wrong with the
messages displayed in *Messages*? Or is it something else which is
wrong?
After instrumenting bar, can you actually step through it with edebug?
(I can't try it out myself, since I can't discern from the documentation
what, precisely, cl-flet is supposed to do.)
> In GNU Emacs 28.0.50 (build 55, x86_64-apple-darwin19.4.0, NS appkit-1894.50 Version 10.15.5 (Build 19F101))
> of 2020-06-21
> Repository revision: a4d3897d8f0caa54be1e1d081651ed6640b7f25e
> Repository branch: master
> Windowing system distributor 'Apple', version 10.3.1894
> System Description: Mac OS X 10.15.5
[ .... ]
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 4 years and 101 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.