X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdescribe.lisp;h=8a97208c81f2cb1684bb6f54b7f55b0697c905a1;hb=b8f63d9b4e978bec3bfc1f4fc471e5ed946781fd;hp=27f7c534f5a2418f30014fcc94d0f7d18270b44b;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/describe.lisp b/src/code/describe.lisp index 27f7c53..8a97208 100644 --- a/src/code/describe.lisp +++ b/src/code/describe.lisp @@ -11,9 +11,6 @@ ;;;; files for more information. (in-package "SB-IMPL") - -(file-comment - "$Header$") (defvar *describe-indentation-step* 3 #+sb-doc @@ -86,7 +83,10 @@ (when (and *print-length* (> n *print-length*)) (format s "~:_...") (return)) - (format s "~:_(~S ~S)" k v))))) + (format s "~:_(~@<~S ~:_~S~:>)" k v))))) + +(defmethod describe-object ((condition condition) s) + (sb-kernel:describe-condition condition s)) ;;;; DESCRIBE-OBJECT methods for symbols and functions, including all ;;;; sorts of messy stuff about documentation, type information, @@ -158,25 +158,23 @@ (let ((info (sb-kernel:%code-debug-info code-obj))) (when info (let ((sources (sb-c::debug-info-source info))) - (format s "~@:_On ~A it was compiled from:" - ;; FIXME: The FORMAT-UNIVERSAL-TIME calls in the system - ;; should become more consistent, probably not using - ;; any nondefault options. - (format-universal-time nil - (sb-c::debug-source-compiled - (first sources)) - :style :abbreviated)) - (dolist (source sources) - (let ((name (sb-c::debug-source-name source))) - (ecase (sb-c::debug-source-from source) - (:file - (format s "~@:_~A~@:_ Created: " (namestring name)) - (sb-int:format-universal-time t (sb-c::debug-source-created - source)) - (let ((comment (sb-c::debug-source-comment source))) - (when comment - (format s "~@:_ Comment: ~A" comment)))) - (:lisp (format s "~@:_~S" name))))))))) + (when sources + (format s "~@:_On ~A it was compiled from:" + ;; FIXME: The FORMAT-UNIVERSAL-TIME calls in the system + ;; should become more consistent, probably not using + ;; any nondefault options. + (format-universal-time nil + (sb-c::debug-source-compiled + (first sources)) + :style :abbreviated)) + (dolist (source sources) + (let ((name (sb-c::debug-source-name source))) + (ecase (sb-c::debug-source-from source) + (:file + (format s "~@:_~A~@:_ Created: " (namestring name)) + (sb-int:format-universal-time s (sb-c::debug-source-created + source))) + (:lisp (format s "~@:_~S" name)))))))))) ;;; Describe a compiled function. The closure case calls us to print ;;; the guts.