[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problems with SLOT-VALUE-USING-CLASS and CLOS
I have a problem with writing an around method for SLOT-VALUE-USING-CLASS.
This method should be specialized on the class argument for a self-defined metaclass.
Instantiating a class which is an instance of this metaclass succeeds only, if there is no
such method for SLOT-VALUE-USING-CLASS defined.
But after defining this method every new defined class for this metaclass can't be instantiatted.
example code:
(defclass my-meta-class (standard-class) )
(defclass my-class1 ()
((x :accessor x :initarg :x))
(:metaclass my-meta-class))
(setf in1 (make-instance 'my-class1)) => all ok for now.
(defmethod slot-value-using-class :around ((class my-meta-class) object slot)
(let ((result nil))
(setf result (call-next-method))
result))
(defclass my-class2 ()
((y :accessor y :initarg :y))
(:metaclass my-meta-class))
(setf in2 (make-instance 'my-class2)) => NIL .
This code runs under Genera 8.1 on a Symbolics.
The body of the Constructor method to build an instance of class MY-CLASS2 contains only
NIL. No actually actions are performed.
Can anybody help me?
Ekkehard Arleth
<arleth@fzi.de>