Robert Goldman wrote:
I believe that your problem may come from introducing the intermediate :modules. You may find that collecting the results of
(asdf::traverse (make-instance 'asdf:load-op) (find-system :foo))
Try rewriting your defsystem more along these lines:
(ASDF:DEFSYSTEM :FOO :COMPONENTS ((:FILE "foo")) (:FILE "bar" :depends-on ("foo")))
However the intermediate :modules are correct and in any case when the compiler is invoked when no source changed is a bug of ASDF ?
I will try to investigate this further (esp if you post a ticket to launchpad), but can't get to it for a while, so suggest you work around by revising the defsystem.
BTW, why is your system definition not in foo.asd?
In my last mail you also see a commented out SCT:DEFSYSTEM form. That SCT:DEFSYSTEM form can be used in Genera and SCT:DEFSYSTEM furthermore is a macro developed by myself to be used in other Lisp systems (Allegro, CLISP). The ASDF:DEFSYSTEM form indeed is the macro expansion of the SCT:DEFSYSTEM form.
In order to have a straightforward implementation of the SCT:DEFSYSTEM macro, the structure of modules and files from the SCT:DEFSYSTEM is preserved. This explains where the intermediate modules come from.
All my Lisp programs were written under OpenGenera and there it is customary to have the system definition in a file "sysdcl.lisp". I just want to copy the Lisp source files from the Symbolics to another computer and execute (SCT:MAKE '(:FOO)) in the other Lisp in order to Load (and Compile if needed) the software there.