1.0.33.24: both .FASL and .fasl force fasl-loading
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 18 Dec 2009 09:42:23 +0000 (09:42 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 18 Dec 2009 09:42:23 +0000 (09:42 +0000)
 Bug with case-insensitive filesystems cause other implementations
 .FASL files to be loaded as source reported by Willem Broekema.

NEWS
src/code/target-load.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index f322498..cf7bef2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -14,6 +14,10 @@ changes relative to sbcl-1.0.33:
   * bug fix: SB-POSIX wrapper for putenv no longer tries to put lisp strings
     in the environment. setenv() and unsetenv() are also provided. (reported by
     Fare Rideau; launchpad bug lp#460455)
+  * bug fix: LOAD of both .fasl and .FASL type files now forces fasl-style
+    loading. This ensures sensible errors for .FASL files from other
+    implementations on case-insensitive filesystems. (reported by Willem
+    Broekema; launchpad bug lp#489417)
   * bug fix: #p"\\\\" can now be read without error on Win32.  (reported by
     Willem Broekema; launchpad bug lp#489698).
   * bug fix: some minor code rearrangements to reenable warning-free building
index 184a1ef..55a585d 100644 (file)
           (return-from load nil))
         (let* ((real (probe-file stream))
                (should-be-fasl-p
-                (and real (string= (pathname-type real) *fasl-file-type*))))
+                (and real (string-equal (pathname-type real) *fasl-file-type*))))
           ;; 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))))
index ed7d136..5780826 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.33.23"
+"1.0.33.24"