From 57500f8641535b9b958abe1e8b65863941becf4f Mon Sep 17 00:00:00 2001
From: Kevin Rosenberg <kevin@rosenberg.net>
Date: Mon, 15 Sep 2003 10:12:44 +0000
Subject: [PATCH] 0.8.3.64:    * Add more description for the array
 describe-object method    * Eliminate warnings from
 sbcl-asdf-install when asdf is present      in the core
 file

---
 contrib/asdf-install/loader.lisp |    6 ++++--
 src/code/describe.lisp           |   30 ++++++++++++++----------------
 version.lisp-expr                |    2 +-
 3 files changed, 19 insertions(+), 19 deletions(-)

diff --git a/contrib/asdf-install/loader.lisp b/contrib/asdf-install/loader.lisp
index 317185d..a28f005 100644
--- a/contrib/asdf-install/loader.lisp
+++ b/contrib/asdf-install/loader.lisp
@@ -1,8 +1,10 @@
 (in-package :cl-user)
 
 (eval-when (:load-toplevel)
-  (require 'asdf)
-  (require 'asdf-install))
+  (unless (find-package 'asdf)
+    (require 'asdf))
+  (let ((asdf::*verbose-out* nil))
+    (require 'asdf-install)))
 
 (defun run ()
   (handler-case
diff --git a/src/code/describe.lisp b/src/code/describe.lisp
index 20a7548..5fe79b8 100644
--- a/src/code/describe.lisp
+++ b/src/code/describe.lisp
@@ -60,26 +60,24 @@
 (defmethod describe-object ((x array) s)
   (fresh-line s)
   (pprint-logical-block (s nil)
-    (let ((rank (array-rank x)))
-      (cond ((= rank 1)
-	     (format s
-		     "~S is a ~:[~;displaced ~]vector of length ~S." x
-		     (and (array-header-p x)
-			  (%array-displaced-p x)
-			  ) (length x))
-	     (when (array-has-fill-pointer-p x)
-	       (format s "~@:_It has a fill pointer, currently ~S."
-		       (fill-pointer x))))
-	    (t
-	     (format s "~S ~_is " x)
-	     (write-string (if (%array-displaced-p x) "a displaced" "an") s)
-	     (format s " array of rank ~S." rank)
-	     (format s "~@:_Its dimensions are ~S." (array-dimensions x)))))
+    (cond
+     ((= 1 (array-rank x))
+      (format s "~S is a vector with ~D elements."
+	      x (car (array-dimensions x)))
+      (when (array-has-fill-pointer-p x)
+	(format s "~@:_It has a fill pointer value of ~S."
+		(fill-pointer x))))
+     (t
+      (format s "~S is an array of dimension ~:S."
+	      x (array-dimensions x))))
     (let ((array-element-type (array-element-type x)))
       (unless (eq array-element-type t)
 	(format s
 		"~@:_Its element type is specialized to ~S."
-		array-element-type))))
+		array-element-type)))
+    (if (and (array-header-p x) (%array-displaced-p x))
+	(format s "~@:_The array is displaced with offset ~S."
+		(%array-displacement x))))
   (terpri s))
 
 (defmethod describe-object ((x hash-table) s)
diff --git a/version.lisp-expr b/version.lisp-expr
index 3c18389..b02eef1 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.3.63"
+"0.8.3.64"
-- 
1.7.10.4