1.0.29.36: another regression from 1.0.29.27
[sbcl.git] / src / code / target-load.lisp
index d022e55..184a1ef 100644 (file)
         (let* ((real (probe-file stream))
                (should-be-fasl-p
                 (and real (string= (pathname-type real) *fasl-file-type*))))
-          (when (fasl-header-p stream :errorp should-be-fasl-p)
+          ;; Don't allow empty .fasls, and assume other empty files
+          ;; are source files.
+          (when (and (or should-be-fasl-p (not (eql 0 (file-length stream))))
+                     (fasl-header-p stream :errorp should-be-fasl-p))
             (return-from load (load-stream stream t)))))
       ;; Case 3: Open using the gived external format, process as source.
       (with-open-file (stream pathname :external-format external-format)