(defmethod print-object ((method standard-method) stream)
(print-unreadable-object (method stream :type t :identity t)
- (if (slot-boundp method 'generic-function)
+ (if (slot-boundp method '%generic-function)
(let ((generic-function (method-generic-function method)))
(format stream "~S ~{~S ~}~:S"
(and generic-function
(generic-function-name generic-function))
(method-qualifiers method)
- (unparse-specializers method)))
+ (if generic-function
+ (unparse-specializers generic-function (method-specializers method))
+ (method-specializers method))))
;; FIXME: Why do we do CALL-NEXT-METHOD in this method (and
;; in the PRINT-OBJECT STANDARD-ACCESSOR-METHOD method too)?
(call-next-method))))
(defmethod print-object ((method standard-accessor-method) stream)
(print-unreadable-object (method stream :type t :identity t)
- (if (slot-boundp method 'generic-function)
+ (if (slot-boundp method '%generic-function)
(let ((generic-function (method-generic-function method)))
(format stream "~S, slot:~S, ~:S"
(and generic-function
(generic-function-name generic-function))
(accessor-method-slot-name method)
- (unparse-specializers method)))
+ (if generic-function
+ (unparse-specializers generic-function (method-specializers method))
+ (method-specializers method))))
(call-next-method))))
(defmethod print-object ((mc standard-method-combination) stream)
(print-unreadable-object (mc stream :type t :identity t)
(format stream
"~S ~S"
- (slot-value-or-default mc 'type)
+ (slot-value-or-default mc 'type-name)
(slot-value-or-default mc 'options))))
(defun named-object-print-function (instance stream
(defmethod print-object ((cache cache) stream)
(print-unreadable-object (cache stream :type t :identity t)
- (format stream
- "~W ~S ~W"
- (cache-nkeys cache)
- (cache-valuep cache)
- (cache-nlines cache))))
+ (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"
+ (cache-key-count cache)
+ (cache-key-count cache)
+ (cache-value cache)
+ lines-used
+ lines-total
+ max-depth
+ depth-limit))))
(defmethod print-object ((wrapper wrapper) stream)
(print-unreadable-object (wrapper stream :type t :identity t)