[armedbear-cvs] r13315 - trunk/abcl/src/org/armedbear/lisp

mevenson at common-lisp.net mevenson at common-lisp.net
Thu Jun 9 13:01:19 UTC 2011


Author: mevenson
Date: Thu Jun  9 06:01:16 2011
New Revision: 13315

Log:
Fix ASDF working with jar archives.

Modified:
   trunk/abcl/src/org/armedbear/lisp/asdf.lisp

Modified: trunk/abcl/src/org/armedbear/lisp/asdf.lisp
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/asdf.lisp	Wed Jun  8 23:03:20 2011	(r13314)
+++ trunk/abcl/src/org/armedbear/lisp/asdf.lisp	Thu Jun  9 06:01:16 2011	(r13315)
@@ -2135,7 +2135,9 @@
 
 ;;; perform is required to check output-files to find out where to put
 ;;; its answers, in case it has been overridden for site policy
+(defvar *debug-perform-compile-op* nil)
 (defmethod perform ((operation compile-op) (c cl-source-file))
+  (push (list operation c) *debug-perform-compile-op*)
   #-:broken-fasl-loader
   (let ((source-file (component-pathname c))
         ;; on some implementations, there are more than one output-file,
@@ -3523,7 +3525,16 @@
 
 (defun* compile-file-pathname* (input-file &rest keys &key output-file &allow-other-keys)
   (if (absolute-pathname-p output-file)
-      (apply 'compile-file-pathname (lispize-pathname input-file) keys)
+      ;;; If the default ABCL rules for translating from a jar path to
+      ;;; a non-jar path have been affected, no further computation of
+      ;;; the output location is necessary.
+      (if (and (find :abcl *features*)
+               (pathname-device input-file) ; input-file is in a jar
+               (not (pathname-device output-file)) ; output-file is not in a jar
+               (equal (pathname-type input-file) "lisp")
+               (equal (pathname-type output-file) "abcl"))
+          output-file
+          (apply 'compile-file-pathname (lispize-pathname input-file) keys))
       (apply-output-translations
        (apply 'compile-file-pathname
               (truenamize (lispize-pathname input-file))




More information about the armedbear-cvs mailing list