(defmethod default-initargs ((class slot-class)
supplied-initargs
class-default-initargs)
- (loop for (key fn) in class-default-initargs
+ (loop for (key nil fun) in class-default-initargs
when (eq (getf supplied-initargs key '.not-there.) '.not-there.)
- append (list key (funcall fn)) into default-initargs
+ append (list key (funcall fun)) into default-initargs
finally
(return (append supplied-initargs default-initargs))))
(let ((initfn (slot-definition-initfunction slotd)))
(when initfn
(funcall initfn)))))
- (unless (or (slot-boundp-using-class class instance slotd)
- (null (slot-definition-initfunction slotd)))
+ (unless (or (null (slot-definition-initfunction slotd))
+ (slot-boundp-using-class class instance slotd))
(setf (slot-value-using-class class instance slotd)
(funcall (slot-definition-initfunction slotd)))))))
(let* ((class (class-of instance))