chiark / gitweb /
dump-ecl: Look up `load-asd' by hand because the load-ECL might not know it.
authorMark Wooding <mdw@distorted.org.uk>
Mon, 4 Mar 2024 14:43:48 +0000 (14:43 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Mon, 4 Mar 2024 14:43:48 +0000 (14:43 +0000)
dump-ecl

index 924009eecd89459f445c3a6dc7760f24722e6ca5..0648d86a4a03aecb86d427cfc4b66587d09e7f94 100755 (executable)
--- a/dump-ecl
+++ b/dump-ecl
@@ -37,20 +37,20 @@ cat >"$tmp/ecl-build.lisp" <<'EOF'
 ;; up-to-date version of ASDF then it won't bother loading the system
 ;; definition from disk which knows about the actual source files.  And if it
 ;; doesn't think it has any source files then it won't compile anything.
-(asdf:load-asd
- (funcall (let* ((cache-pkg (find-package "ASDF/CACHE"))
-                (session-pkg (find-package "ASDF/SESSION")))
-           (symbol-function
-            (cond (cache-pkg
-                   (find-symbol "CALL-WITH-ASDF-CACHE" cache-pkg))
-                  (session-pkg
-                   (find-symbol "CALL-WITH-ASDF-SESSION" session-pkg))
-                  (t
-                   (error "I don't know how to hack this version of ASDF: ~
-                           please report this as a bug.")))))
-         (lambda ()
-           (asdf:search-for-system-definition "asdf")))
- :name "asdf")
+(funcall (symbol-function (find-symbol "LOAD-ASD" "ASDF"))
       (funcall (let* ((cache-pkg (find-package "ASDF/CACHE"))
+                        (session-pkg (find-package "ASDF/SESSION")))
+                   (symbol-function
+                    (cond (cache-pkg
+                           (find-symbol "CALL-WITH-ASDF-CACHE" cache-pkg))
+                          (session-pkg
+                           (find-symbol "CALL-WITH-ASDF-SESSION" session-pkg))
+                          (t
+                           (error "I don't know how to hack this version ~
+                                   of ASDF: please report this as a bug.")))))
+                 (lambda ()
+                   (asdf:search-for-system-definition "asdf")))
       :name "asdf")
 
 (defparameter *asdf* (asdf:find-system "asdf")
   "The `asdf' system itself.")