1.0.28.73: regression from 1.0.28.21
[sbcl.git] / src / pcl / print-object.lisp
index b377444..50153b2 100644 (file)
 
 (defun named-object-print-function (instance stream
                                     &optional (extra nil extra-p))
-  (print-unreadable-object (instance stream :type t)
-    (if extra-p
-        (format stream
-                "~S ~:S"
-                (slot-value-or-default instance 'name)
-                extra)
-        (format stream
-                "~S"
-                (slot-value-or-default instance 'name)))))
+  (let ((name (slot-value-or-default instance 'name)))
+    (print-unreadable-object (instance stream :type t :identity (not name))
+      (if extra-p
+          (format stream "~S ~:S" name extra)
+          (format stream "~S" name)))))
 
 (defmethod print-object ((class class) stream)
   (named-object-print-function class stream))
     (multiple-value-bind (lines-used lines-total max-depth depth-limit)
         (cache-statistics cache)
       (format stream
-              "~D key, ~P~:[no value~;value~], ~D/~D lines, depth ~D/~D"
+              "~D key~P, ~:[no value~;value~], ~D/~D lines, depth ~D/~D"
               (cache-key-count cache)
               (cache-key-count cache)
               (cache-value cache)