X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=set-cl-library.cl;h=228080ce25db78b306174f51111d380f35a8abbf;hb=6b94f9667781589b9989602981d81413509319a5;hp=51aa42ef5624e2647b9b0750a4bd405e584e1a54;hpb=a64de0e661a3fa56b572320c2c68abb0c658f2b2;p=clsql.git diff --git a/set-cl-library.cl b/set-cl-library.cl index 51aa42e..228080c 100644 --- a/set-cl-library.cl +++ b/set-cl-library.cl @@ -18,14 +18,26 @@ ;; This mirrors the expectation of Common Lisp Controller's pathnames (handler-case - (logical-pathname-translations "CL-LIBRARY") + (logical-pathname-translations "cl-library") (error () - (let* ((dir (pathname-directory *load-truename*)) - (parent-dir (subseq dir 0 (1- (length dir))))) - (load (make-pathname :name "set-logical" :type "cl" - :defaults *load-truename*)) - (set-logical-host-for-pathname - "CL-LIBRARY" - (make-pathname :host (pathname-host *load-truename*) - :device (pathname-device *load-truename*) - :directory parent-dir))))) + (let* ((dir (pathname-directory *load-truename*)) + (parent-dir (subseq dir 0 (1- (length dir))))) + (load (make-pathname :name "set-logical" :type "cl" + :defaults *load-truename*)) + (set-logical-host-for-pathname + "cl-library" + (make-pathname :host (pathname-host *load-truename*) + :device (pathname-device *load-truename*) + :directory parent-dir)))) + (:no-error (translation) + ;; Make sure that cl-library points to this installation + (let* ((dir (pathname-directory *load-truename*)) + (base-dir (car (last dir))) + (logical-dir (translate-logical-pathname + (concatenate 'string + "cl-library:" base-dir ";")))) + (unless (equalp dir (pathname-directory logical-dir)) + (let ((*print-circle* nil)) + (error "cl-library:~A; directory ~S does not equal *load-truename*'s directory ~S" + base-dir (cdr dir) + (cdr (pathname-directory logical-dir))))))))