-(defmethod kmr-mop:compute-effective-slot-definition :around
- ((cl attributes-class) #+kmr-normal-cesd name dsds)
- #+kmr-normal-cesd (declare (ignore name))
- (apply
- #'make-instance 'attributes-esd
- :attributes (remove-duplicates (mapappend #'dsd-attributes dsds))
- (kmr-mop::compute-effective-slot-definition-initargs cl dsds))
- )
-
-#+ignore
-(defmethod kmr-mop:compute-effective-slot-definition :around
- ((cl attributes-class) #+kmr-named-cesd name dsds)
- #+kmr-named-cesd (declare (ignore name))
- (let ((normal-slot (call-next-method)))
- (setf (esd-attributes normal-slot)
- (remove-duplicates
- (mapappend #'esd-attributes dsds)))
- normal-slot))
+(defmethod kmr-mop:effective-slot-definition-class ((cl attributes-class) #+kmrcl::normal-dsdc &rest initargs)
+ (declare (ignore initargs))
+ (kmr-mop:find-class 'attributes-esd))
+
+(defmethod kmr-mop:compute-effective-slot-definition
+ ((cl attributes-class) #+kmrcl::normal-cesd name dsds)
+ #+kmrcl::normal-cesd (declare (ignore name))
+ (let ((esd (call-next-method)))
+ (setf (esd-attributes esd) (remove-duplicates (mapappend #'dsd-attributes dsds)))
+ esd))