r10949: 2006-05-17 Kevin Rosenberg (kevin@rosenberg.net)
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 17 May 2006 14:10:57 +0000 (14:10 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 17 May 2006 14:10:57 +0000 (14:10 +0000)
        * Version 1.5.12
        * src/libraries.lisp: Patch from Yaroslav Kavenchuk to set
        default drive letters on MS Windows.

ChangeLog
debian/changelog
src/libraries.lisp

index 3a139431fa5353bf0993c8041634345f0a66d1c3..629507fe746620642726df7380ee2817b811fded 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-17 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 1.5.12 
+       * src/libraries.lisp: Patch from Yaroslav Kavenchuk to set
+       default drive letters on MS Windows.
+
 2006-05-11 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 1.5.11: Export new macro DEF-POINTER-VAR based on patch from
        James Bielman to support defining variables on platforms which
index f1048b87c5f5d8836adc770addf366e65f5111b7..e0fc5281476f1e64ae517dc32a43076263fdb8ac 100644 (file)
@@ -1,3 +1,9 @@
+cl-uffi (1.5.12-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Wed, 17 May 2006 08:09:13 -0600
+
 cl-uffi (1.5.11-1) unstable; urgency=low
 
   * New upstream
index a8d09c3f2dc7781e4b772eed46369e31f0ef7805..faa5f12c2ef44efab56d6f4f4a7bcd5bb3507352 100644 (file)
@@ -32,7 +32,7 @@
   #-(or win32 mswindows macosx darwin ccl-5.0) '("so" "a" "o")
 )
 
-(defun find-foreign-library (names directories &key types drive-letters)  
+(defun find-foreign-library (names directories &key types drive-letters)
   "Looks for a foreign library. directories can be a single
 string or a list of strings of candidate directories. Use default
 library type if type is not specified."
@@ -45,6 +45,9 @@ library type if type is not specified."
   (unless (listp directories)
     (setq directories (list directories)))
   #+(or win32 mswindows)
+  (unless drive-letters
+    (setq drive-letters (list (pathname-device directories))))
+  #+(or win32 mswindows)
   (unless (listp drive-letters)
     (setq drive-letters (list drive-letters)))
   #-(or win32 mswindows)
@@ -53,21 +56,21 @@ library type if type is not specified."
     (dolist (name names)
       (dolist (dir directories)
        (dolist (type types)
-         (let ((path (make-pathname 
+         (let ((path (make-pathname
                       #+lispworks :host
                       #+lispworks (when drive-letter drive-letter)
                       #-lispworks :device
                       #-lispworks (when drive-letter drive-letter)
-                      :name name 
+                      :name name
                       :type type
-                      :directory 
+                      :directory
                       (etypecase dir
                         (pathname
                          (pathname-directory dir))
                         (list
                          dir)
                         (string
-                         (pathname-directory 
+                         (pathname-directory
                           (parse-namestring dir)))))))
            (when (probe-file path)
              (return-from find-foreign-library path)))))))
@@ -84,11 +87,11 @@ library type if type is not specified."
                           (probe-file filename)))
     (if (pathnamep filename)    ;; ensure filename is a string to check if already loaded
        (setq filename (namestring (if (null (pathname-directory filename))
-                                      filename 
+                                      filename
                                       ;; lispworks treats as UNC, so use truename
                                       #+(and lispworks win32) (truename filename)
                                       #-(and lispworks win32) filename))))
-    
+
     (if (and (not force-load)
             (find filename *loaded-libraries* :test #'string-equal))
        t ;; return T, but don't reload library
@@ -97,13 +100,13 @@ library type if type is not specified."
        (let ((type (pathname-type (parse-namestring filename))))
          (if (string-equal type "so")
              (sys::load-object-file filename)
-             (alien:load-foreign filename 
+             (alien:load-foreign filename
                                  :libraries
                                  (convert-supporting-libraries-to-string
                                   supporting-libraries))))
        #+scl
        (let ((type (pathname-type (parse-namestring filename))))
-         (alien:load-foreign filename 
+         (alien:load-foreign filename
                              :libraries
                              (convert-supporting-libraries-to-string
                               supporting-libraries)))
@@ -119,7 +122,7 @@ library type if type is not specified."
        #+allegro (load filename)
        #+openmcl (ccl:open-shared-library filename)
        #+digitool (ccl:add-to-shared-library-search-path filename t)
-       
+
        (push filename *loaded-libraries*)
        t))))