[slime-devel] Not possible to inspect method slots in Lispworks

Ian Eslick eslick at csail.mit.edu
Tue Feb 7 04:38:46 UTC 2006


In fact an even better solution, which I just employed and tested
locally, is to just create an allegro specific backend method for
inspect-for-emacs that handles the case over slot-boundp not calling
slot-boundp-using-class.  We can address general MOP issues later if
enough backends have to go this route per Pascal's earlier e-mail.

Ian

Ian Eslick wrote:
> It sounds like this is probably related to the recent change to
> (defun inspect-for-emacs ((o standard-object) inspector)
>
> I think perhaps it's advisable to back that recent change out until we
> either take Pascal's recommendation to use Closer to MOP to implement
> the slot-boundp-using-class or slowly special-case for different
> versions until we have a clear working consensus for all the different
> backends.
>
> revert to
>   
>>                 collect (if (slot-boundp o slot-name)
>>                            `(:value ,(slot-value o slot-name))
>>                             "#<unbound>")
>>     
>
> from:
> <                 collect (if (swank-mop:slot-boundp-using-class
> (class-of o) o slot)
> <                            `(:value ,(swank-mop:slot-value-using-class
> (class-of o) o
> <                                                                        
> (find-effective-slot o slot-name)))
> <                             "#<unbound>")
>
> Sorry if that caused problems.  I'll play around on my end with the
> original problem (inspecting MOP overloaded slot accessors) and suggest
> a special case solution for Allegro if it is warranted.  Can someone
> check in this change or revert the prior change?
>
> Regards,
> Ian
>
> Luke Crook wrote:
>   
>> In the latest version of SLIME from CVS for Lispworks, I receive the following 
>> error when I attempt to inspect the values for a slot in an object:
>>
>>   
>> The slot #<STANDARD-EFFECTIVE-SLOT-DEFINITION A-METHOD 21C8CD0C> is missing from 
>> #<A-CLASS 21C8D174> (of class #<STANDARD-CLASS A-CLASS 21C4734C>), when reading 
>> the value.
>> <<
>>
>> This is for the following:
>>
>> CL-USER> (defclass a-class ()
>> 	   ((a-method :accessor a-method)))
>> #<STANDARD-CLASS A-CLASS 21C4734C>
>> CL-USER> (make-instance 'a-class)
>> #<A-CLASS 21C8D174>
>>
>> This used to work in the SLIME CVS version of perhaps a month or so ago.
>>
>> -Luke
>>
>>
>> _______________________________________________
>> slime-devel site list
>> slime-devel at common-lisp.net
>> http://common-lisp.net/mailman/listinfo/slime-devel
>>   
>>     
> _______________________________________________
> slime-devel site list
> slime-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/slime-devel
>   



More information about the slime-devel mailing list