diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-03-01 14:46:36 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-03-01 14:47:27 -0700 |
commit | 5b83e1693cebb8c037da5cbbffac24b90c46caf4 (patch) | |
tree | 5652f221995031123f5a4cd7bbaabaaec44544de /src/data.lisp | |
parent | be2b15288d2d979345c3893c1fadd7650684fea5 (diff) | |
download | consfigurator-5b83e1693cebb8c037da5cbbffac24b90c46caf4.tar.gz |
bind a variable to block trying to load ASDF systems in remote Lisps
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/data.lisp')
-rw-r--r-- | src/data.lisp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/data.lisp b/src/data.lisp index 0b68cd9..550004e 100644 --- a/src/data.lisp +++ b/src/data.lisp @@ -370,23 +370,17 @@ achieved by sending the return value of this function into a REPL's stdin." (missing-data-source (lambda (c) (declare (ignore c)) - (invoke-restart 'skip-data-source))) - ;; we can skip missing components when our particular restart - ;; is available because we've already uploaded everything - ;; that was declared to be required - (asdf/find-component:missing-component - (lambda (c) - (declare (ignore c)) - (let ((restart (find-restart 'continue-without-system))) - (when restart (invoke-restart restart)))))) - ,@forms))) + (invoke-restart 'skip-data-source)))) + (let ((*remote-lisp* t)) + ,@forms)))) (let ((intern-forms (loop for name in '("MISSING-DATA-SOURCE" "SKIP-DATA-SOURCE" - "CONTINUE-WITHOUT-SYSTEM") + "*REMOTE-LISP*") collect `(export (intern ,name (find-package "CONSFIGURATOR")) (find-package "CONSFIGURATOR")))) + (proclamations `((proclaim '(special *remote-lisp*)))) (load-forms (loop for system in (slot-value (slot-value *host* 'propspec) 'systems) @@ -405,6 +399,7 @@ achieved by sending the return value of this function into a REPL's stdin." #'prin1-to-string `((make-package "CONSFIGURATOR") ,@intern-forms + ,@proclamations (define-condition missing-data-source (error) ()) (require "asdf") (let ((*standard-output* *error-output*)) |