X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdescribe.lisp;h=71ced2d9b33fa148d77eda5284548cc54ed397c6;hb=51cf665f514935c8067f86f3850fd917731cada0;hp=e9ae2a43752412b721f30dc8c5db3dfe1e116a89;hpb=648b48d2406f6d6f2bf341bf8ed350aac85398d0;p=sbcl.git diff --git a/src/pcl/describe.lisp b/src/pcl/describe.lisp index e9ae2a4..71ced2d 100644 --- a/src/pcl/describe.lisp +++ b/src/pcl/describe.lisp @@ -110,20 +110,24 @@ (defmethod describe-object ((class class) stream) (flet ((pretty-class (c) (or (class-name c) c))) (macrolet ((ft (string &rest args) `(format stream ,string ,@args))) - (ft "~&~S is a class. It is an instance of ~S." + (ft "~&~@<~S is a class. It is an instance of ~S.~:@>" class (pretty-class (class-of class))) (let ((name (class-name class))) (if name (if (eq class (find-class name nil)) - (ft "~&Its proper name is ~S." name) - (ft "~&Its name is ~S, but this is not a proper name." name)) - (ft "It has no name (the name is NIL).~%"))) - (ft "~&~@~%" + (ft "~&~@" name) + (ft "~&~@" + name)) + (ft "~&~@"))) + (ft "~&~@~%" (mapcar #'pretty-class (class-direct-superclasses class)) (mapcar #'pretty-class (class-direct-subclasses class)) - (mapcar #'pretty-class (class-precedence-list class)) + (class-finalized-p class) + (mapcar #'pretty-class (cpl-or-nil class)) (length (specializer-direct-methods class)))))) (defmethod describe-object ((package package) stream)