2009/7/9 Faré <fah...@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

_______________________________________________
asdf-devel mailing list
asdf-devel@common-lisp.net
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to