• Francois-Rene Rideau's avatar
    Fix issue upgrading from 3.1.7 or earlier · 1a241a5c
    Francois-Rene Rideau authored
    To reproduce the bug, on sbcl, allegro, cmucl (and presumably all other
    implementations?) try:
    ASDF_UPGRADE_TEST_METHODS="'load-asdf-lisp'compile-load-asdf-upgrade" \
    make u l=sbcl ; \
    make t l=sbcl t=test-utilities.script
    TEST ABORTED: These two expressions fail comparison with EQUAL:
     NIL evaluates to NIL
    After loading the FASL compiled from 3.1.7 (or earlier ASDF3),
    the symbols are unexported in their old package ASDF/ACTION,
    and the same-named symbols in ASDF/PLAN (and ASDF/INTERFACE)
    are fresh symbols that are not fbound.
    The solution is for ASDF/ACTION to :UNINTERN those symbols.
    ASDF/PLAN cannot include ASDF/ACTION in its :RECYCLE clause,
    because it comes *after* ASDF/ACTION, and that would negatively affect
    other symbols from ASDF/ACTION that ASDF/PLAN imports (at least on CCL).
plan.lisp 28.8 KB