Fluidize (runtime pathname) internal library-directory-path.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Tue, 4 Feb 2014 21:01:12 +0000 (14:01 -0700)
committerMatt Birkholz <puck@birchwood-abbey.net>
Tue, 12 Aug 2014 00:30:28 +0000 (17:30 -0700)
src/ffi/ffi.pkg
src/runtime/pathnm.scm

index 8e772b589bc6cdceac07e8d4e22878cee237484a..0e4f0e31ba2c0939f5101e61d309524f6733b0b4 100644 (file)
@@ -40,11 +40,9 @@ FFI System Packaging |#
 (define-package (ffi build)
   (parent ())
   (files "build")
-  (import (runtime pathname)
-         library-directory-path)
   (export (ffi)
          compile-shim
          link-shim
          install-shim
          install-load-option
-         install-html))
\ No newline at end of file
+         install-html))
index ca0377f0262aa2d02cfeecb2c143d5e20c0d8b5b..ae9c22fc36d19b93e1f19649483ec8f6c2536f65 100644 (file)
@@ -634,18 +634,18 @@ these rules:
                                'with-system-library-directories
                                directories))))
 
-  (fluid-let ((library-directory-path
-              (append (map existing-directory directories)
-                      library-directory-path)))
-    (thunk)))
+  (let-fluid library-directory-path
+            (append (map existing-directory directories)
+                    (fluid library-directory-path))
+    thunk))
 
 (define (%find-library-directory)
   (pathname-simplify
-   (or (find-matching-item library-directory-path file-directory?)
+   (or (find-matching-item (fluid library-directory-path) file-directory?)
        (error "Can't find library directory."))))
 
 (define (%find-library-file pathname)
-  (let loop ((path library-directory-path))
+  (let loop ((path (fluid library-directory-path)))
     (and (pair? path)
         (let ((p (merge-pathnames pathname (car path))))
           (if (file-exists? p)
@@ -719,8 +719,9 @@ these rules:
   (set! *default-pathname-defaults*
        (make-fluid (make-pathname local-host #f #f #f #f #f)))
   (set! library-directory-path
-       (map pathname-as-directory
-            (vector->list ((ucode-primitive microcode-library-path 0)))))
+       (make-fluid
+        (map pathname-as-directory
+             (vector->list ((ucode-primitive microcode-library-path 0))))))
   unspecific)
 
 (define (initialize-package!)