[closer-devel] slot-value-using-class stack overflow
Jeff Caldwell
jdcal at yahoo.com
Thu Apr 14 13:26:07 UTC 2005
Hello,
I am working in LWL 4.3.
In closer-mop.lisp's cl:defmethod
slot-value-using-class (class standard-class), the
code
(if slotd
(if (default-reader slotd)
(slot-value-using-class class object slotd)
....
causes recursion and stack overflow when my code,
which uses c2mop, specializes slot-value-using-class
with a class inheriting from
standard-effective-slot-definition. My
slot-value-using-class is called first. When I
call-next-method, c2mop's slot-value-using-class is
called. The recursive call above reinvokes my code. A
first stab at a work around for the code above fixes
the recursion:
(slot-value-using-class
(find-class 'standard-class) object slotd)
Also, I tried to implement slot attributes as
definined in AMOP pp.83-90 (or close to those pages,
that's from memory). I ended up with a condition where
code somewhere was trying to access the attributes
slot defined in attributes-mixin. However, the code
was trying to get the slot from another slot instance,
which caused the condition to be signaled. Changing my
code's package file to use CLOS instead of CLOSER-MOP,
i.e. going back to the straight LW MOP, fixed
everything. I didn't have time to nail that problem
down any further.
Jeff Caldwell
__________________________________
Do you Yahoo!?
Make Yahoo! your home page
http://www.yahoo.com/r/hs
More information about the closer-devel
mailing list