Re: How CLSQL finds and loads foreign libraries

Edi Weitz <[email protected]> Sat, 30 Dec 2006 21:57:52 +0100
Newsgroups gmane.lisp.clsql.devel
Message-ID <[email protected]>
On Sat, 30 Dec 2006 11:09:29 -0700, Kevin Rosenberg <kevin-HJRc7zDS/[email protected]> wrote:

> Your changes were never "reverted", but additions and modifications
> to the library code have been made over time to support other users
> / features. Each time I've changed a file, I've made a note in
> ChangeLog with a summary of the change.

Yeah, I looked at the ChangeLog but couldn't figure out from it alone
where and why exactly the change happened.  That's why I wanted to
look at old versions.

> If there's something we can fix in the current code to support your
> needs, of course, I'm happy to do so.

I looked at the current code and for me it would be enough to just
switch the load order like so:

--- clsql-3.6.6/uffi/clsql-uffi-loader.lisp.orig        2006-12-30 21:45:53.400033600 +0100
+++ clsql-3.6.6/uffi/clsql-uffi-loader.lisp     2006-12-30 21:46:03.474520000 +0100
@@ -35,9 +35,9 @@
           (loop for name in filenames
                 for pn = (make-pathname :name name :type type)
                 thereis (or
+                         (try-load pn)
                          (loop for search-path in clsql:*foreign-library-search-paths*
-                               thereis (try-load (merge-pathnames pn search-path)))
-                         (try-load pn))))
+                               thereis (try-load (merge-pathnames pn search-path))))))
      (when errorp
        (error "Couldn't load foreign librar~@P ~{~S~^, ~}. (searched ~S)"
              (length filenames) filenames

If that doesn't break someone else's code, I'm fine.

Happy New Year,
Edi.