0.9.14.22:
authorJuho Snellman <jsnell@iki.fi>
Mon, 17 Jul 2006 19:39:45 +0000 (19:39 +0000)
committerJuho Snellman <jsnell@iki.fi>
Mon, 17 Jul 2006 19:39:45 +0000 (19:39 +0000)
Check whether SBCL_HOME has been set before trying to use it
        in sbcl-homedir-pathname, since it might not have a value
        when using :EXECUTABLE T cores. (Regression between 0.9.13 and
        0.9.14, reported by James Knight).

NEWS
src/code/filesys.lisp
src/code/toplevel.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 69d797b..0735ecf 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -19,6 +19,20 @@ changes in sbcl-0.9.15 relative to sbcl-0.9.14:
   * fixed bug: anonymous classes can now be created using the :NAME
     initarg and MAKE-INSTANCE / REINITIALIZE-INSTANCE, as specified by
     AMOP.  (reported by Leonid Slobodov on comp.lang.lisp)
+  * fixed bug: core-files saved with :EXECUTABLE T can again be 
+    executed when SBCL_HOME isn't set. (reported by James Knight)
+  * fixed bug: toplevel LOCALLY forms with declarations could 
+    occasionally get miscompiled. (reported by Yaroslav Kavenchuk)
+  * fixed bug: printing from several different threads using different
+    values of *print-case* could cause invalid output, due to 
+    some internal special variables of the printer not being bound
+    thread-locally (reported by Max Mikhanosha)
+  * minor code generation optimizations:
+    * better register allocation in CLOS dispatching functions
+    * overflow detection when coercing signed bytes to fixnums on x86-64 
+      is now implemented with one IMUL instruction instead of three shifts
+    * more efficient bit-vector access on x86 and x86-64
+    * more efficient access to raw structure slots on x86 and x86-64
 
 changes in sbcl-0.9.14 relative to sbcl-0.9.13:
   * feature: thread support on Solaris/x86, and experimental thread support
index 952fdce..55ca37e 100644 (file)
              (concatenate 'string string "/"))))
 
 (defun sbcl-homedir-pathname ()
-  (parse-native-namestring
-   (ensure-trailing-slash (posix-getenv "SBCL_HOME"))))
+  (let ((sbcl-home (posix-getenv "SBCL_HOME")))
+    ;; SBCL_HOME isn't set for :EXECUTABLE T embedded cores
+    (when sbcl-home
+      (parse-native-namestring
+       (ensure-trailing-slash sbcl-home)))))
 
 ;;; (This is an ANSI Common Lisp function.)
 (defun user-homedir-pathname (&optional host)
index f9fb1f6..f3ef3e2 100644 (file)
@@ -484,8 +484,9 @@ steppers to maintain contextual information.")
                             default-init-file-names))))
         (let ((sysinit-truename
                (probe-init-files sysinit
-                                 (merge-pathnames (sbcl-homedir-pathname)
-                                                  "sbclrc")
+                                 (let ((sbcl-homedir (sbcl-homedir-pathname)))
+                                   (when sbcl-homedir
+                                     (merge-pathnames sbcl-homedir "sbclrc")))
                                  #!-win32
                                  "/etc/sbclrc"
                                  #!+win32
index 5f90cb6..e3d7748 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".)
-"0.9.14.21"
+"0.9.14.22"