X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-load.lisp;h=184a1ef8c97bdd734f90abb6b6c39b02e33d9ac3;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=d022e5574853dc27e055f7e412f733a32e1e9818;hpb=01488e5ddb6c8c10bc01bc9c502be1fe9de8e370;p=sbcl.git diff --git a/src/code/target-load.lisp b/src/code/target-load.lisp index d022e55..184a1ef 100644 --- a/src/code/target-load.lisp +++ b/src/code/target-load.lisp @@ -140,7 +140,10 @@ (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)