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