aboutsummaryrefslogtreecommitdiff
path: root/src/data.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.lisp')
-rw-r--r--src/data.lisp17
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*))