[slime-devel] the slime inspector
Thomas Schilling
tjs_ng at yahoo.de
Sun Sep 12 23:27:04 UTC 2004
Am Sun, 12 Sep 2004 21:50:37 +0200 schrieb Thomas Schilling
<tjs_ng at yahoo.de>:
>> - makunbound, fmakunbound, remove-method from within inspector.
>
> hm, removing method has one problem though: it doesn't remove the method
> at point (instead it always removes the last method.)
fixed it. Looks like an Allegro bug. (No diff cause I don't know how to
diff to your applied patch.)
In
(defmethod inspected-parts ((gf standard-generic-function))
the line
collect `(:action "[remove method]" ,(lambda () (remove-method gf
method)))
must be replaced with
collect `(:action "[remove method]" ,(create-method-remover gf method))
and this must be added
(defun create-method-remover (gf m)
;; acl62 didn't treat the inlined lambda correctly
(lambda () (remove-method gf m)))
because the inlined closure was modified in each loop. Dunno, if this is a
bug or a feature or simply depends on the loop implementation (in which
case it would probably also be a bug).
In order to handle unfinalized classes i modified inspected-parts
(standard-class) a little bit. See attachment (note: it also is no diff)
Furthermore, we need a method for inspected-parts for cl:structure-class
(i simply copied the one for standard-class) and for
excl::structure-direct-slot-definition (allegro package), though I don't
know how to do this portably. Maybe we can just add it to swank-mop and
create a dummy class for all implementations that don't support/need this
class.
-ts
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ip-standard-class.txt
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20040913/5a9769e9/attachment.txt>
More information about the slime-devel
mailing list