From 3206cfdbe7c50a3caa176b8589bb40c38fb5066c Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Tue, 6 Dec 2005 15:06:28 +0000
Subject: [PATCH] Remove the dependency in DESCRIBE-PARTS on PCL.  We do this
 by checking to see of the 'STANDARD-OBJECT class exists or not before
 checking to see if the object is a STANDARD-OBJECT type.

---
 code/tty-inspect.lisp | 33 ++++++++++++++++++++-------------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/code/tty-inspect.lisp b/code/tty-inspect.lisp
index 71a90945b..f9c65c799 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
-- 
GitLab