X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdescribe.lisp;h=dc49e9204c826d9c88d8939269cf0572b7f8c2b6;hb=a260738d7a71680079d972b102b4e4db4e8dc3ae;hp=6efcba569e8753c5cef85f13ad81a535c40ffd1a;hpb=a92c91a4fdcdcf1c96b33339c1ef077243183187;p=sbcl.git diff --git a/src/pcl/describe.lisp b/src/pcl/describe.lisp index 6efcba5..dc49e92 100644 --- a/src/pcl/describe.lisp +++ b/src/pcl/describe.lisp @@ -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 @@ -132,7 +132,7 @@ (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) @@ -143,9 +143,13 @@ (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))))))