0.7.10.32:
[sbcl.git] / src / pcl / describe.lisp
index 6efcba5..dc49e92 100644 (file)
@@ -59,7 +59,7 @@
          (:class  (push slotd class-slotds))
          (otherwise (push slotd other-slotds))))
       (setq max-slot-name-length  (min (+ max-slot-name-length 3) 30))
-      (format stream "~%~@<~S ~_is an instance of class ~S.~:>" object class)
+      (format stream "~&~@<~S ~_is an instance of class ~S.~:>" object class)
 
       ;; Now that we know the width, we can print.
       (when instance-slotds
   (pprint-logical-block (stream nil)
     (format stream "~&~S is a ~S." package (type-of package))
     (format stream
-           "~@[~&It has nicknames ~{~:_~S~^ ~}~]"
+           "~@[~&It has nicknames ~2I~{~:_~S~^ ~}~]"
            (package-nicknames package))
     (let* ((internal (package-internal-symbols package))
           (internal-count (- (package-hashtable-size internal)
       (format stream
              "~&It has ~S internal and ~S external symbols."
              internal-count external-count))
-    (format stream
-           "~@[~&It uses ~{~:_~S~^ ~}~]"
-           (package-use-list package))
-    (format stream
-           "~@[~&It is used by ~{~:_~S~^ ~}~]"
-           (package-used-by-list package))))
+    (flet (;; Turn a list of packages into something a human likes
+          ;; to read.
+          (humanize (package-list)
+            (sort (mapcar #'package-name package-list) #'string<)))
+      (format stream
+             "~@[~&It uses packages named ~2I~{~:_~S~^ ~}~]"
+             (humanize (package-use-list package)))
+      (format stream
+             "~@[~&It is used by packages named ~2I~{~:_~S~^ ~}~]"
+             (humanize (package-used-by-list package))))))