;; 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.
((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)))