• 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_TAGS=3.1.7 \
    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
     (FISHY-ASDF-EXPORTED-SYMBOLS) evaluates to
     (("ASDF/INTERFACE" "REQUIRED-COMPONENTS")
      ("ASDF/PLAN" "TRAVERSE-SUB-ACTIONS" "REQUIRED-COMPONENTS" "TRAVERSE-ACTIONS"))
    
    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).
    1a241a5c
Name
Last commit
Last update
bin Loading commit data...
contrib Loading commit data...
doc Loading commit data...
ext Loading commit data...
test Loading commit data...
tools Loading commit data...
uiop Loading commit data...
.cl-source-registry.cache Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
Makefile Loading commit data...
Makefile-lisp-scripting Loading commit data...
README.md Loading commit data...
TODO Loading commit data...
action.lisp Loading commit data...
asdf.asd Loading commit data...
backward-interface.lisp Loading commit data...
backward-internals.lisp Loading commit data...
bundle.lisp Loading commit data...
cache.lisp Loading commit data...
component.lisp Loading commit data...
concatenate-source.lisp Loading commit data...
find-component.lisp Loading commit data...
find-system.lisp Loading commit data...
footer.lisp Loading commit data...
header.lisp Loading commit data...
interface.lisp Loading commit data...
lisp-action.lisp Loading commit data...
make-asdf.bat Loading commit data...
make-asdf.sh Loading commit data...
operate.lisp Loading commit data...
operation.lisp Loading commit data...
output-translations.lisp Loading commit data...
package-inferred-system.lisp Loading commit data...
parse-defsystem.lisp Loading commit data...
plan.lisp Loading commit data...
source-registry.lisp Loading commit data...
system.lisp Loading commit data...
upgrade.lisp Loading commit data...
user.lisp Loading commit data...
version.lisp-expr Loading commit data...