[asdf-devel] Problems with asdf:load-system :force
Stelian Ionescu
sionescu at cddr.org
Fri Jul 26 22:16:07 UTC 2013
On Fri, 2013-07-26 at 18:05 -0400, Faré wrote:
> >> This is ASDF3. Dependencies are propagated correctly, unlike with ASDF 1&2.
> >> If you want to catch a macro redefinition, just define a dependency,
> >> as you should.
> >
> > When I develop interactively and change stuff without saving files,
> > perhaps because I'm working in a scratch buffer, I still want the suite
> > to be recompiled.
> >
> If you recompiled a file but did not recompile some files that depend on it,
> ASDF3 will correctly recompile them when you (test-system :swap-bytes).
> No need to force anything. This is not ASDF 1&2.
If I edit a macro in a scratch buffer ASDF cannot possibly detect it
because no file on disk has changed. Maybe I'm being a little too
cautious here but for the moment I'll keep forcing the reload of the
test suite.
> >> Which files do or don't get compiled twice?
> >
> > :swap-bytes/test depends on :swap-bytes. When I
> > (asdf:load-system :swap-bytes/test :force '(:swap-bytes/test)), some
> > files from :swap-bytes get recompiled too, namely the last two,
> > network.lisp and endianness.lisp
> >
> Indeed, this is a subtle bug in madeira-port: when you depend on
> a component that is excluded from the build by madeira-port,
> the component fails to declare an empty set of output-files,
> while its perform method fails to create the declared output-files,
> and therefore ASDF while planning decides that this build step
> is incomplete, as well as anything that depends on it directly or indirectly.
>
> The solution is for madeira-port to also provide a :around method for
> output-files.
> That's subtle: I didn't think of it when reading the source code.
Thanks, fixed.
--
Stelian Ionescu a.k.a. fe[nl]ix
Quidquid latine dictum sit, altum videtur.
http://common-lisp.net/project/iolib
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20130727/9d170dbf/attachment.sig>
More information about the asdf-devel
mailing list