[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

shared-initialize for metaclasses



This code (MCL 2.0.1):

(defclass m1 (standard-class) ())

(defmethod shared-initialize :around 
	   ((m m1) slot-names &rest initargs &key direct-superclasses)
    (call-next-method m slot-names :direct-superclasses nil))

(defclass c1 () () (:metaclass m1))



jumps to this error:

> Error: Bad initarg: T to call-next-method for #<M1 #<Unbound>>
>        on #<STANDARD-GENERIC-FUNCTION SHARED-INITIALIZE #x295E6E>
> While executing: CCL::CNM-WITH-ARGS-CHECK-INITARGS
> Type Command-. to abort.
See the RestartsI menu item for further choices.
1 > 


Without changing the arguments of call-next-method, everything is allright:


(defclass m2 (standard-class) ())

(defmethod shared-initialize :around 
	((m m2) slot-names &rest initargs &key direct-superclasses)
    (print "shared") (call-next-method))

(defclass c2 () () (:metaclass m2))



Is there allready a patch fixing that?


Thanks,

	lothar