[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