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
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@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
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@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
slime-devel site list slime-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/slime-devel
* Ian Eslick [2006-02-07 05:38+0100] writes:
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.
I did something like this in the CVS version.
Helmut.