On 6/9/11 7:06 PM, Faré wrote:
Thanks for thinking with me on this.

OK. I believe the following definition might make
each of Stelian, you and I happy. Can you try it?

(defun* compile-file-pathname*
     (input-file&rest keys&key output-file&allow-other-keys)
   (if (absolute-pathname-p output-file)
       (apply 'compile-file-pathname
              (make-pathname :host nil :device nil
                             :defaults (lispize-pathname input-file))
              keys)
       (apply-output-translations
        (apply 'compile-file-pathname
               (truenamize (lispize-pathname input-file))
               keys))))

Yes, this works fine with ABCL.

But for implementations that need a device (like Windows using device for the drive letter), won't this result in stripping the device out of all output-file locations?

As I mentioned in the previous message, I think the better fix is to have TRANSLATE-JAR-PATHNAME do something like the following (untested):

index a8339f7..0395f56 100755
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -3569,12 +3569,14 @@ effectively disabling the output translation facility."
          (root (format nil "/___jar___file___root___/~@[~A/~]"
                        (and (find :windows *features*)
                             (pathname-device p)))))
-    (apply-output-translations
-     (merge-pathnames*
-      (relativize-pathname-directory source)
-      (merge-pathnames*
-       (relativize-pathname-directory (ensure-directory-pathname p))
-       root)))))
+    (make-pathname :defaults
+                   (apply-output-translations
+                    (merge-pathnames*
+                     (relativize-pathname-directory source)
+                     (merge-pathnames*
+ (relativize-pathname-directory (ensure-directory-pathname p))
+                      root)))
+                   :device :unspecific)))

 ;;;; -----------------------------------------------------------------
 ;;;; Compatibility mode for ASDF-Binary-Locations


--
"A screaming comes across the sky.  It has happened before, but there
is nothing to compare to it now."


_______________________________________________
asdf-devel mailing list
[email protected]
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to