* Learn to use cl-grid-test, to make sure ASDF changes don't break stuff, and that breakage gets fixed quickly. * Test stassats's thing: (asdf:enable-asdf-binary-locations-compatibility :centralize-lisp-binaries t :default-toplevel-directory *fasl-dir*) * Split ASDF in parts ** Have it pass test-lisp ** Have it pass test-upgrade ** Get package upgrade right Try a newer CLISP than 2.44.1, and if it still breaks, try harder, by e.g. having ensure-package return a working defpackage form. ** The unconditional ensure-package-unused breaks test-encodings.script, since asdf severs itself from its client package hosting the defsystem form during defsystem-depends-on. ** Solution 1: emulate hook on the *upgraded-p* solution, either using explicit flag, explicit version numbers or implicit version information (e.g. source-code or sxhash thereof, also accounting for dependency package information). ** Solution 2: Just "do the right thing" with exported symbols. * Make load-op a generic operation that selects the proper strategy for each system, module or file, according to component properties and user-configuration: compile the lisp file then load the fasl (load-compiled-op), load the lisp file without compiling (load-source-op), compile all files for the system, link them and load the result (load-fasl-op), compile all files for the system *and* its dependencies, link and load (monolithic-load-fasl-op), concatenate all files for the system, then load the result (load-concatenated-source-op), concatenate all files for the system, then link them and load the result (load-compiled-concatenated-op), concatenate all files for the system *and* its dependencies, link and load (monolithic-load-compiled-concatenated-op). * Stop the dynamic ASDFn temporary package madness. ** Just have a single ASDF-USER that :use's ASDF and ASDF-UTILS * operation cleanup? ** Kill backward-compat functions after all clients have moved on. ** Kill original-initargs -- BEWARE, it currently has clients!