GNU bug report logs -
#59213
Emacs 29: Edebug fails to instrument a parameter whose name begins with _
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Sat, 12 Nov 2022 09:37:01 UTC
Severity: normal
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> (function (lambda () ,@forms))
>> with
>> (function (lambda () :closure-dont-trim-context ,@forms))
>> and then have `cconv-make-interpreted-closure` look for this
>> tell-tale sign.
> Interesting. Isn't there a good chance this would foul up programs which
> analyse the structure of a closure?
It's possible, indeed. Such programs should be quite rare, tho.
I'd expect packages which analyse such code would either:
A) be Edebug-specific and would have to handle any values of `forms`, in
which case having `:closure-dont-trim-context` prepended to it would
not affect them.
B) be non-Edebug specific in which case they should be looking for
a specific pattern somewhere inside `forms` and they should presumably
not find the above transformation worse than the other transformations
applied by Edebug in general.
> (A bit like testcover-analyze-coverage analyses the calling structure
> of edebug-enter).
Indeed, it's only such code I have found so far. I know there are other
tools out there that use Edebug's instrumentation in creative ways, but
I can't remember where they are.
And, AFAICT in the case of `testcover.el`, the above suggestion would
"just work" (fall into case (A)) whereas your approach required a tweak.
I'll try it on `master`.
Stefan
This bug report was last modified 2 years and 92 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.