Make fasl-type a function, not a special variable. Should make ECL happier.
authorFrancois-Rene Rideau <tunes@google.com>
Sun, 28 Oct 2012 11:54:00 +0000 (20:54 +0900)
committerFrancois-Rene Rideau <tunes@google.com>
Sun, 28 Oct 2012 11:54:00 +0000 (20:54 +0900)
bundle.lisp
fasl-concat.lisp
specials.lisp

index 6857141..5b149f4 100644 (file)
 ;;; The different targets are defined by specialization.
 ;;;
 
-(defparameter *fasl-type* (pathname-type (compile-file-pathname "foo.lisp"))
-  "pathname TYPE for lisp FASt Loading files")
+(defun fasl-type ()
+  "pathname TYPE for lisp FASt Loading files"
+  (#-ecl load-time-value #+ecl identity
+   (pathname-type (compile-file-pathname "foo.lisp"))))
 
 (defclass bundle-op (operation)
   ((build-args :initarg :args :initform nil :accessor bundle-op-build-args)
   (coerce-pathname
    (or (slot-value component 'relative-pathname)
        (component-name component))
-   :type *fasl-type*
+   :type (fasl-type)
    :defaults (component-parent-pathname component)))
 
 (defmethod output-files (o (c compiled-file))
index 612730e..c820e14 100644 (file)
@@ -49,8 +49,8 @@ For the latter case, we ought pick random suffix and atomically open it."
 
 (defmethod perform ((o bundle-op) (c system))
   (let* ((input-files (input-files o c))
-         (fasl-files (remove *fasl-type* input-files :key #'pathname-type :test-not #'string=))
-         (non-fasl-files (remove *fasl-type* input-files :key #'pathname-type :test #'string=))
+         (fasl-files (remove (fasl-type) input-files :key #'pathname-type :test-not #'string=))
+         (non-fasl-files (remove (fasl-type) input-files :key #'pathname-type :test #'string=))
          (output-files (output-files o c))
          (output-file (first output-files)))
     (when input-files
index c3e30fc..d624a33 100644 (file)
@@ -3,6 +3,3 @@
 #+xcvb (module ())
 
 (in-package :asdf)
-
-(defparameter *fasl-type* (pathname-type (compile-file-pathname "foo.lisp"))
-  "pathname TYPE for lisp FASt Loading files")