GNU bug report logs -
#41989
28.0.50; Edebug doesn't generate symbols for `cl-flet' etc.
Previous Next
Reported by: Philipp <p.stephani2 <at> gmail.com>
Date: Sun, 21 Jun 2020 17:04:02 UTC
Severity: normal
Tags: moreinfo
Found in version 28.0.50
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #16 received at 41989 <at> debbugs.gnu.org (full text, mbox):
Am Mo., 1. März 2021 um 16:46 Uhr schrieb Lars Ingebrigtsen <larsi <at> gnus.org>:
>
> Philipp Stephani <p.stephani2 <at> gmail.com> writes:
>
> >> Edebug (using C-u C-M-x) a function like the following:
> >>
> >> (defun bar ()
> >> (cl-flet ((foo () 1)) (foo))
> >> (cl-flet ((foo () 2)) (foo)))
> >>
> >> *Messages* will now contain
> >>
> >> Edebug: foo [4 times]
> >> Edebug: bar
> >>
> >> Note how `foo' has been instrumented 4 times. A factor of 2 is due to
> >> Bug#41988; another factor of 2 is due to Edebug not generating a unique
> >> symbol. Edebug should generate symbols such as `bar <at> foo <at> 1' and
> >> `bar <at> foo <at> 2' for these definitions.
> >
> > I've partially fixed this with commit d8ab98843e. It's not completely
> > fixed because Edebug doesn't yet detect the outer definition and adds
> > it to the inner symbol.
>
> I'm not quite sure what the status is here now. I tried `C-u C-M-x'-ing
> it now and got:
>
> Edebug: foo <at> cl-flet <at> 118
> Edebug: foo <at> cl-flet <at> 119
> Edebug: bar
> bar
>
> Which seems correct. And stepping through the function also works. So
> is there more to be done here?
It would be nice to include the outer function ("bar") in the
generated symbol, e.g. "bar <at> foo <at> cl-flet <at> 118" or similar.
But that would really be the icing on the cake, and it's not necessary
to avoid duplicate symbols. So more of a nice to have; feel free to
close this bug if it's too hard to implement.
This bug report was last modified 4 years and 141 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.