diff --git a/code/tty-inspect.lisp b/code/tty-inspect.lisp index 71a90945bfa86d09e4ba8eb768a9d2bb9b91d2a2..f9c65c7994e1b3adae82d16ae4286bbd71b07657 100644 --- a/code/tty-inspect.lisp +++ b/code/tty-inspect.lisp @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/tty-inspect.lisp,v 1.23 2003/05/12 19:46:12 gerd Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/tty-inspect.lisp,v 1.24 2005/12/06 15:06:28 rtoy Rel $") ;;; ;;; ********************************************************************** ;;; @@ -146,18 +146,25 @@ ;;;; DESCRIBE-PARTS (defun describe-parts (object) - (typecase object - (symbol (describe-symbol-parts object)) - (standard-object (describe-standard-object-parts object)) - (instance (describe-instance-parts object :structure)) - (function - (if (kernel:funcallable-instance-p object) - (describe-instance-parts object :funcallable-instance) - (describe-function-parts object))) - (vector (describe-vector-parts object)) - (array (describe-array-parts object)) - (cons (describe-cons-parts object)) - (t (describe-atomic-parts object)))) + (cond ((typep object 'symbol) + (describe-symbol-parts object)) + ((and (kernel::find-class 'standard-object nil) + (typep object 'standard-object)) + (describe-standard-object-parts object)) + ((typep object 'instance) + (describe-instance-parts object :structure)) + ((typep object 'function) + (if (kernel:funcallable-instance-p object) + (describe-instance-parts object :funcallable-instance) + (describe-function-parts object))) + ((typep object 'vector) + (describe-vector-parts object)) + ((typep object 'array) + (describe-array-parts object)) + ((typep object 'cons) + (describe-cons-parts object)) + (t + (describe-atomic-parts object)))) (defun describe-symbol-parts (object) (list (format nil "~s is a symbol.~%" object) t