X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fdescribe.lisp;h=67e45b5474efe8da655a83e73e31f78ac2e01c4a;hb=a160917364f85b38dc0826a5e3dcef87e3c4c62c;hp=79de2f86a518498f6db0b4391906909fabe91625;hpb=c3c5e3bac6e4ca8e9d1c6960590d88e16254cfea;p=sbcl.git diff --git a/src/code/describe.lisp b/src/code/describe.lisp index 79de2f8..67e45b5 100644 --- a/src/code/describe.lisp +++ b/src/code/describe.lisp @@ -161,12 +161,14 @@ ;; any nondefault options. (format-universal-time nil (sb-c::debug-source-compiled source) :style :abbreviated)) - (let ((name (sb-c::debug-source-name source))) - (ecase (sb-c::debug-source-from source) - (:file - (format s "~&~A~@:_ Created: " (namestring name)) - (format-universal-time s (sb-c::debug-source-created source))) - (:lisp (format s "~& ~S" (aref name 0)))))))))) + (let ((name (sb-c::debug-source-namestring source))) + (cond (name + (format s "~&~A~@:_ Created: " name) + (format-universal-time s (sb-c::debug-source-created source))) + ((sb-di:debug-source-form source) + (format s "~& ~S" (sb-di:debug-source-form source))) + (t (bug "Don't know how to use a DEBUG-SOURCE without ~ + a namestring or a form."))))))))) ;;; Describe a compiled function. The closure case calls us to print ;;; the guts. @@ -348,9 +350,13 @@ ((fboundp x) (describe-symbol-fdefinition (fdefinition x) s :name x))) + ;; Describe deftype lambda-list and doc + (when (info :type :expander x) + (format s "~&DEFTYPE lambda-list: ~A" (info :type :lambda-list x)) + (%describe-doc x s 'type "Type")) + ;; Print other documentation. (%describe-doc x s 'structure "Structure") - (%describe-doc x s 'type "Type") (%describe-doc x s 'setf "Setf macro") (dolist (assoc (info :random-documentation :stuff x)) (let ((type (car assoc)))