This is in ASDF 1.86.
When the system definition uses explicit `:in-order-to'
dependencies between files, and I issue a command like
`(asdf:operate 'asdf:load-op <system>)', it recompiles
many files unnecessarily (the fasls are up to date
already). This doesn't happen when the system
definition is in `:serial t' form.
I enclose a tentative fix.
-- Scott
Logged In: YES
user_id=201123
No, it wasn't that simple. Here's my second try at a fix.
-- Scott
Logged In: YES
user_id=201123
No, it wasn't that simple. Here's my second try at a fix.
-- Scott
Logged In: YES
user_id=201123
No, it wasn't that simple. Here's my second try at a fix.
-- Scott
Logged In: YES
user_id=201123
Okay, third try :) (Deleting the previous attachment.)
(Sorry for the duplicate comments.)
-- Scott
Logged In: YES
user_id=201123
I've been running with this patch for about six months now,
and it has been working great. I notice it's not in 1.92.
I strongly encourage you to apply it to the CVS tree.
(Can't believe I made such a mess of the initial submission
here -- I know that's not confidence-inspiring. Yow!)
I'm enclosing a complete example that reproduces the
problem. Untar it somewhere, place a link to `foo.asd' in
your central ASDF registry directory, start a fresh Lisp,
and do `(asdf:operate 'asdf:load-op :foo)'. The source
files will, of course, be compiled. Now exit Lisp and
restart it, and do the load step again. You will see that
most of the source files get recompiled.
Unfortunately I no longer recall exactly what the problem
was or how this patch fixes it, but I'm sure I can
reconstruct that information if you need me to.
Example of problem
Logged In: YES
user_id=201123
Here's a patch made from the current CVS tree, just to be
sure it applies cleanly. Deleting previous patches.
-- Scott
Patch against current CVS tree