[asdf-devel] asdf2 reloads already loaded fasls

Alan Ruttenberg alanruttenberg at gmail.com
Sun May 2 04:17:11 UTC 2010


Situation:

abcl
there is a newer compiled file than source file
calling load-op on the system with this file causes the fasl to be repeatedly loaded.

The reason, it appears:

(defmethod perform ((o load-op) (c cl-source-file))
  #-ecl (mapcar #'load (input-files o c))
  #+ecl (loop :for i :in (input-files o c)
          :unless (string= (pathname-type i) "fas")
          :collect (let ((output (compile-file-pathname (lispize-pathname i))))
                     (load output))))

compared to

(defmethod perform ((o load-source-op) (c cl-source-file))
  (let ((source (component-pathname c)))
    (setf (component-property c 'last-loaded-as-source)
          (and (load source)
               (get-universal-time)))))

i.e. the last loaded-time is recorded only when the source is loaded.

-Alan





More information about the asdf-devel mailing list