Understood.
And thanks again!
-jm
On Wed, Sep 11, 2013 at 3:55 PM, Faré fahree@gmail.com wrote:
On Wed, Sep 11, 2013 at 3:40 PM, John Morrison john.nmi.morrison@gmail.com wrote:
Well, I think I found the thing that triggers the problem - even if I
didn't
really find the problem itself. The :clim defsystem defines a dependency that reaches into one of its components - the Goatee/presentation-history file. (Maybe the "huh?" comment in the asd file should've clued me in a little before now, eh?) My guess (based on a later filesystem date on
the
file presentation-history as compared to the other file components of goatee-core) is that recompiling the file as a part of clim later than
and
as opposed to goatee-core made goatee appear to have changed, forcing recompiiling of parents... Then things got weird.
When I put the #+NIL in the obvious place (see below), things work as expected. (This with ASDF 3.0.2.4 - haven't check the older versions yet...)
Does anybody have any clue why this might have been this way? It seems
to
be wrong in spirit (recompiling files of another component from outside
any
operations on that specific component), and clearly raised the eyebrows
of
at least one McCLIM maintainer... In any event, thanks for the troubleshooting clues, guys, and sorry for any unintentional casting of aspersions...
ASDF 1 (and 2) failed to propagate timestamps from dependencies to dependents, and a file could appear twice, in two different systems, and not cause a dependency loop.
ASDF 3 correctly propagates timestamps from dependencies to dependents. If a file appears twice, the uncompiled or out-of-date first occurrence causes everything that follows to be recompiled, including, later, the second occurrence, which will have a later timestamp, that next time around, will mean the first occurrence has been compiled after everything in the dependency loop.
Conclusion: don't introduce dependency loops. They were always a bug, just one that was previously hidden by a deep bug in ASDF itself.
Don't #+NIL the bastard, just plain kill it.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Dost thou love life? Then do not squander time, for that's the stuff life is made of. — Benjamin Franklin