[asdf-devel] Fwd: can't compile-file then load asdf.lisp
Nikodemus Siivola
nikodemus at random-state.net
Thu Jul 9 08:22:50 UTC 2009
2009/7/9 Faré <fahree at gmail.com>:
> Apparently, it is incorrect to try to update ASDF from a system where
> an older version of ASDF has already been loaded from which some
> DEFUNs (e.g. SYSTEM-SOURCE-FILE) have since converted to DEFGENERICs.
> This means that if you have an old clisp from debian and try to use
> the newer ASDF, you're out of luck.
>
> As a remedy, could we prepend the defpackage in asdf.lisp with the following?
>
> (eval-when (:compile-toplevel :load-toplevel)
> (let ((package (find-package '#:asdf)))
> (when package (delete-package package))))
I don't think this a good idea in general: when users are bit by this
they can deal with the error and delete the package by hand.
If we do this automatically, however, reloading the same version twice
will cause all methods that were added later to be forgotten, as well
as additions to *CENTRAL-REGISTRY*, etc.
If something along the lines is put it, I would suggest that TRT is to
signal an error and offer restarts to either delete the package or
continue blindly.
Cheers,
-- Nikodemus
More information about the asdf-devel
mailing list