- (check-obsolete-instance instance)
- ;; If the SLOTD had a TYPE-CHECK-FUNCTION, call it.
- (let* (;; Note that this CLASS is not neccessarily
- ;; the SLOT-DEFINITION-CLASS of the
- ;; SLOTD passed to M-O-S-W-M-F, since it's
- ;; e.g. possible for a subclass to define
- ;; a slot of the same name but with no
- ;; accessors. So we need to fetch the SLOTD
- ;; when CHECKING-FUN is called, instead of
- ;; just closing over it.
- (class (class-of instance))
- (slotd (find-slot-definition class slot-name))
+ ;; If we have a TYPE-CHECK-FUNCTION, call it.
+ (let* (;; Note that the class of INSTANCE here is not
+ ;; neccessarily the SLOT-DEFINITION-CLASS of
+ ;; the SLOTD passed to M-O-S-W-M-F, since it's
+ ;; e.g. possible for a subclass to define a
+ ;; slot of the same name but with no accessors.
+ ;; So we need to fetch the right type check function
+ ;; from the wrapper instead of just closing over it.
+ (wrapper (valid-wrapper-of instance))