bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22294: Patch


From: Dmitry Gutov
Subject: bug#22294: Patch
Date: Mon, 8 May 2017 05:19:28 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:53.0) Gecko/20100101 Thunderbird/53.0

On 07.05.2017 23:28, Gemini Lasswell wrote:

Actually the arguments are not known because they have not yet been
evaluated when edebug-step-in is invoked. So it would have to set a
breakpoint after argument evaluation, run the code under debugging
until it gets to that breakpoint, look at the evaluated arguments,
figure out what method to instrument, instrument the method and set a
breakpoint in it, and then run again.

Very good point, it sounds like a pain.

Fixing the edebug name for cl-defmethod seems like it should be a smaller effort.

I've tried to do that via a new edebug spec for method arguments, see the attached variation of your patch (only partially tested).

Unfortunately, this code fails when instrumenting a generic method (e.g. using C-u C-M-x) with something like:

Unknown specializer foo@setf\ \(v\ \(_y\ \(eql\ 4\)\)\ z\)

Any thoughts? edebug-match-method-args is definitely at fault there, but I'm not sure how to improve it.

I have started writing tests for
Edebug, as a step towards making it possible to improve it without
worrying about breaking things that are working. Probably it will help
me understand the code in there better too.

Sounds great.

Here's a revised patch. Thanks for letting me know about pcase-dolist
as it looks very useful. It's not documented and I didn't know it
existed.

I usually find those via normal introspection.

Try typing 'C-h f pcase- TAB' and looking at the "public" names (without the double-dash in their name).

Attachment: 0002-edebug-and-defmethod.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]