0.8.20.11:
authorAlexey Dejneka <adejneka@comail.ru>
Wed, 9 Mar 2005 04:23:08 +0000 (04:23 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Wed, 9 Mar 2005 04:23:08 +0000 (04:23 +0000)
        * Fix bug, reported by David Tolpin on c.l.l: LOAD should bind
          *LOAD-PATHNAME* to the merged pathname.

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

diff --git a/NEWS b/NEWS
index 4ca43a6..f4be342 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -20,6 +20,8 @@ changes in sbcl-0.8.21 (0.9alpha.1?) relative to sbcl-0.8.20:
     the specializer is now possible.
   * fixed bug: the MAKE-INSTANCE optimization is now correct in the
     face of package deletion.
     the specializer is now possible.
   * fixed bug: the MAKE-INSTANCE optimization is now correct in the
     face of package deletion.
+  * fixed bug: LOAD should bind *LOAD-PATHNAME* to the merged
+    pathname. (reported by David Tolpin on c.l.l)
   * contrib improvement: the SB-SIMPLE-STREAMS contrib now defines
     STRING-SIMPLE-STREAM and FILE-SIMPLE-STREAM as subclasses of
     STRING-STREAM and FILE-STREAM, respectively.
   * contrib improvement: the SB-SIMPLE-STREAMS contrib now defines
     STRING-SIMPLE-STREAM and FILE-SIMPLE-STREAM as subclasses of
     STRING-STREAM and FILE-STREAM, respectively.
index 4d7e676..2aa6bef 100644 (file)
@@ -69,7 +69,7 @@
        (return-from internal-load nil)))
 
   (let ((*load-truename* truename)
        (return-from internal-load nil)))
 
   (let ((*load-truename* truename)
-       (*load-pathname* pathname))
+       (*load-pathname* (merge-pathnames pathname)))
     (case contents
       (:source
        (with-open-file (stream truename
     (case contents
       (:source
        (with-open-file (stream truename
index f0d4524..fb7b9c9 100644 (file)
       (when tmp-fasl (delete-file tmp-fasl))
       (delete-file *tmp-filename*))))
 
       (when tmp-fasl (delete-file tmp-fasl))
       (delete-file *tmp-filename*))))
 
+;;; As reported by David Tolpin *LOAD-PATHNAME* was not merged.
+(progn
+  (defvar *saved-load-pathname*)
+  (with-open-file (s *tmp-filename*
+                     :direction :output
+                     :if-exists :supersede
+                     :if-does-not-exist :create)
+    (print '(setq *saved-load-pathname* *load-pathname*) s))
+  (let (tmp-fasl)
+    (unwind-protect
+         (progn
+           (load *tmp-filename*)
+           (assert (equal (merge-pathnames *tmp-filename*) *saved-load-pathname*)))
+      (delete-file *tmp-filename*))))
+
 (quit :unix-status 104)
 (quit :unix-status 104)
index f241267..1d1ec06 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".)
 ;;; 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.8.20.10"
+"0.8.20.11"