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...

-jm

(defsystem :clim
  :depends-on (:clim-core :goatee-core :clim-postscript :drei-mcclim)
  :components
  (#+NIL(:file "Goatee/presentation-history" ; XXX: this is loaded as part of the Goatee system. huh?
          :pathname #.(make-pathname :directory '(:relative "Goatee") :name "presentation-history" :type "lisp"))
   (:file "input-editing-goatee")
   (:file "input-editing-drei")
   (:file "text-editor-gadget")
   (:file "Extensions/tab-layout"
      :pathname #.(make-pathname :directory '(:relative "Extensions")
                     :name "tab-layout"
                                     :type "lisp"))))


On Wed, Sep 4, 2013 at 1:17 PM, Faré <fahree@gmail.com> wrote:
John, which version of McCLIM  are you using on which platform? Give
us the URL, etc.

I remember battling with mcclim.asd before I could release ASDF 3. It
included a lot of cruft from the ASDF 1 days, and various bugs that I
fixed together with rpgolman.

It is also possible that McCLIM or one of its dependencies has
dependency bugs that used to be hidden by ASDF bugs: unlike ASDF3,
ASDF1 and after it ASDF2 don't properly propagate timestamps
transitively through dependencies. If somehow McCLIM has some kind of
circularity or bootstrapping whereby a file that is depended upon
earlier in the build is touched or re-created later in the build, or
even more simply, a declared input that doesn't exist or a declared
output that is never created, that will cause ASDF3 to reload a lot of
things where earlier versions wouldn't.

Can you
(1) check that you use the latest versions of McCLIM and its dependencies
(2) find a minimal case where things go wrong, and give us a trace of
perform-plan?

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Ever wonder why the SAME PEOPLE make up ALL the conspiracy theories?