[asdf-devel] asdf2 reloads already loaded fasls
fahree at gmail.com
Sun May 2 04:59:11 UTC 2010
Works for me on ASDF.
For load-op and compile-op, times are stored in the operation-times
slot of the component, as accessed by component-operation-times.
Load-source-op should be doing the same, really. I've just added a
method component-operation-time that allows one to do the Right
Thing(tm) whatever that right thing is. Maybe we want load-source-op
and load-op to share a same time, for instance.
If ABCL is doing the wrong thing, I suggest that you TRACE
operation-done-p and/or safe-file-write-date and see what it tells
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
Death is only a milestone - albeit one that is dropped on you
from a very great height
— Terry Pratchett.
On 2 May 2010 00:17, Alan Ruttenberg <alanruttenberg at gmail.com> wrote:
> 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)
> i.e. the last loaded-time is recorded only when the source is loaded.
More information about the asdf-devel