(values (format nil "The object is a FUNCALLABLE-INSTANCE of type ~S.~%"
(type-of object))
t
- (inspected-structure-elements object)))
+ (inspected-standard-object-elements object)))
+
+(defmethod inspected-parts ((object condition))
+ (values (format nil "The object is a CONDITION of type ~S.~%"
+ (type-of object))
+ t
+ (inspected-standard-object-elements object)))
(defmethod inspected-parts ((object function))
- (let* ((type (sb-kernel:widetag-of object))
- (object (if (= type sb-vm:closure-header-widetag)
- (sb-kernel:%closure-fun object)
- object)))
- (values (format nil "FUNCTION ~S.~@[~%Argument List: ~A~]." object
- (sb-kernel:%simple-fun-arglist object)
- ;; Defined-from stuff used to be here. Someone took
- ;; it out. FIXME: We should make it easy to get
- ;; to DESCRIBE from the inspector.
- )
- t
- nil)))
+ (values (format nil "The object is a ~A named ~S.~%"
+ (if (closurep object) 'closure 'function)
+ (%fun-name object))
+ t
+ ;; Defined-from stuff used to be here. Someone took
+ ;; it out. FIXME: We should make it easy to get
+ ;; to DESCRIBE from the inspector.
+ (list*
+ (cons "Lambda-list" (%fun-lambda-list object))
+ (cons "Ftype" (%fun-type object))
+ (when (closurep object)
+ (list
+ (cons "Closed over values" (%closure-values object)))))))
(defmethod inspected-parts ((object vector))
(values (format nil
(defmethod inspected-parts ((object array))
(let* ((length (min (array-total-size object) *inspect-length*))
- (reference-array (make-array length :displaced-to object))
+ (reference-array (make-array length
+ :element-type (array-element-type object)
+ :displaced-to object))
(dimensions (array-dimensions object))
(reversed-elements nil))
;; FIXME: Should we respect *INSPECT-LENGTH* here? If not, what does