Commit a22dd643 authored by Christophe Rhodes's avatar Christophe Rhodes
Browse files

0.8.7.46:

	Improve DESCRIBE and INSPECT slightly
	... make condition objects less opaque to inspect
	... likewise funcallable-instances
	... make generic functions /more/ opaque to DESCRIBE...
		... so now (describe #'print-object) only
		takes up 4 screens, not hundreds
parent ffdebb41
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -781,7 +781,11 @@ cons cells and LIST-TYPE is :normal, :dotted, or :cyclic"
    (list components (length components) :named nil)))

(defmethod inspected-parts ((object sb-kernel:funcallable-instance))
  (let ((components (inspected-structure-parts object)))
  (let ((components (inspected-standard-object-parts object)))
    (list components (length components) :named nil)))

(defmethod inspected-parts ((object condition))
  (let ((components (inspected-standard-object-parts object)))
    (list components (length components) :named nil)))

(defmethod inspected-parts ((object function))
+7 −1
Original line number Diff line number Diff line
@@ -202,7 +202,13 @@ evaluated expressions.
  (values (format nil "The object is a FUNCALLABLE-INSTANCE of type ~S.~%"
		  (type-of object))
	  t
	  (inspected-structure-elements object)))
	  (inspected-standard-object-elements object)))

(defmethod inspected-parts ((object condition))
  (values (format nil "The object is a CONDITION of type ~S.~%"
		  (type-of object))
	  t
	  (inspected-standard-object-elements object)))

(defmethod inspected-parts ((object function))
  (let* ((type (sb-kernel:widetag-of object))
+7 −5
Original line number Diff line number Diff line
@@ -91,7 +91,9 @@

(defmethod describe-object ((fun standard-generic-function) stream)
  (format stream "~&~A is a generic function." fun)
  (format stream "~&Its arguments are:~&  ~S"
  (when (documentation fun t)
    (format stream "~&  Function documentation: ~A" (documentation fun t)))
  (format stream "~&Its lambda-list is:~&  ~S"
	  (generic-function-pretty-arglist fun))
  (let ((methods (generic-function-methods fun)))
    (if (null methods)
@@ -99,13 +101,13 @@
	(let ((gf-name (generic-function-name fun)))
	  (format stream "~&Its methods are:")
	  (dolist (method methods)
	    (format stream "~2%    (~A ~{~S ~}~:S) =>"
	    (format stream "~&  (~A ~{~S ~}~:S)~%"
		    gf-name
		    (method-qualifiers method)
		    (unparse-specializers method))
	    (describe (or (method-fast-function method)
			  (method-function method))
		      stream))))))
	    (when (documentation method t)
	      (format stream "~&    Method documentation: ~A"
		      (documentation method t))))))))

(defmethod describe-object ((class class) stream)
  (flet ((pretty-class (c) (or (class-name c) c)))
+1 −1
Original line number Diff line number Diff line
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.8.7.45"
"0.8.7.46"