- (fixnum (if fsc-p
- (lambda (instance)
- (check-obsolete-instance instance)
- (let ((value (clos-slots-ref (fsc-instance-slots instance)
- index)))
- (if (eq value +slot-unbound+)
- (slot-unbound (class-of instance) instance slot-name)
- value)))
- (lambda (instance)
- (check-obsolete-instance instance)
- (let ((value (clos-slots-ref (std-instance-slots instance)
- index)))
- (if (eq value +slot-unbound+)
- (slot-unbound (class-of instance) instance slot-name)
- value)))))
- (cons (lambda (instance)
- (check-obsolete-instance instance)
- (let ((value (cdr index)))
- (if (eq value +slot-unbound+)
- (slot-unbound (class-of instance) instance slot-name)
- value)))))
+ (fixnum
+ (if fsc-p
+ (lambda (instance)
+ (check-obsolete-instance instance)
+ (let ((value (clos-slots-ref (fsc-instance-slots instance) index)))
+ (if (eq value +slot-unbound+)
+ (values
+ (slot-unbound (class-of instance) instance slot-name))
+ value)))
+ (lambda (instance)
+ (check-obsolete-instance instance)
+ (let ((value (clos-slots-ref (std-instance-slots instance) index)))
+ (if (eq value +slot-unbound+)
+ (values
+ (slot-unbound (class-of instance) instance slot-name))
+ value)))))
+ (cons
+ (lambda (instance)
+ (check-obsolete-instance instance)
+ (let ((value (cdr index)))
+ (if (eq value +slot-unbound+)
+ (values (slot-unbound (class-of instance) instance slot-name))
+ value)))))