diff --git a/src/code/describe.lisp b/src/code/describe.lisp index b1bd93f8cbecc6f927e935198eadc63f6c532f05..3616b3616560e90fd7505273f1309a06b9c6f665 100644 --- a/src/code/describe.lisp +++ b/src/code/describe.lisp @@ -313,11 +313,12 @@ (let ((info (kernel:%code-debug-info code-obj))) (when info (let ((sources (c::debug-info-source info))) - (format t (intl:gettext "~&On ~A it was compiled from:") - (format-universal-time nil - (c::debug-source-compiled - (first sources)) - :style :iso8601)) + (when sources + (format t (intl:gettext "~&On ~A it was compiled from:") + (format-universal-time nil + (c::debug-source-compiled + (first sources)) + :style :iso8601))) (dolist (source sources) (let ((name (c::debug-source-name source))) (ecase (c::debug-source-from source) diff --git a/tests/issues.lisp b/tests/issues.lisp index b02fc1266886d13ed1a6771d2f3fe786274ae9ba..26647dd265ff98812ea83ec93f5fea08a98b88af 100644 --- a/tests/issues.lisp +++ b/tests/issues.lisp @@ -298,3 +298,15 @@ (assert-eql (length in-string) (length out-string)) (assert-equal in-string out-string))))) + + +(define-test issue.30 + (:tag :issues) + (let* ((test-file #.(merge-pathnames #p"resources/issue-30.lisp" cl:*load-pathname*)) + (fasl-file (compile-file-pathname test-file))) + ;; Compiling and loading the test file should succeed without + ;; errors. + (assert-true (pathnamep test-file)) + (assert-true (pathnamep fasl-file)) + (assert-equalp (list fasl-file nil nil) + (multiple-value-list (compile-file test-file :load t))))) diff --git a/tests/resources/issue-30.lisp b/tests/resources/issue-30.lisp new file mode 100644 index 0000000000000000000000000000000000000000..d924295797b9d8062458a5bce9b49d63f3de5d3a --- /dev/null +++ b/tests/resources/issue-30.lisp @@ -0,0 +1,4 @@ +(defun foo () + (print "Hello world")) + +(describe 'foo)