aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/connection.lisp5
-rw-r--r--src/data.lisp10
-rw-r--r--src/propspec.lisp10
3 files changed, 12 insertions, 13 deletions
diff --git a/src/connection.lisp b/src/connection.lisp
index 2047b4a..a8a14a2 100644
--- a/src/connection.lisp
+++ b/src/connection.lisp
@@ -31,11 +31,6 @@ Deployments bind this variable. Its global value should remain nil.
The main point of this is to allow properties to access the context in which
they're being applied.")
-(defvar *remote-lisp* nil
- "Whether this Lisp is one started up within a call to DEPLOY*.
-Currently only used within EVAL-PROPSPEC, and not exported. Try to avoid
-assuming whether or not code is running in the root Lisp.")
-
;; generic function operating on keywords which identify connection types
(defgeneric establish-connection (type remaining &key)
(:documentation
diff --git a/src/data.lisp b/src/data.lisp
index cfebc62..70c75e7 100644
--- a/src/data.lisp
+++ b/src/data.lisp
@@ -367,16 +367,20 @@ achieved by sending the return value of this function into a REPL's stdin."
(lambda (c)
(declare (ignore c))
(invoke-restart 'skip-data-source))))
- (let ((*remote-lisp* t))
+ ;; don't try to load systems as we don't upload the .asd files,
+ ;; and we don't want to load out of /usr/share/common-lisp or
+ ;; something as we might get a different version of the library
+ ;; at worst, or a lot of redefinition warnings at best
+ (let ((*suppress-loading-systems* t))
,@forms))))
(let* ((intern-forms
(loop for name in '("MISSING-DATA-SOURCE"
"SKIP-DATA-SOURCE"
- "*REMOTE-LISP*")
+ "*SUPPRESS-LOADING-SYSTEMS*")
collect
`(export (intern ,name (find-package "CONSFIGURATOR"))
(find-package "CONSFIGURATOR"))))
- (proclamations `((proclaim '(special *remote-lisp*))))
+ (proclamations `((proclaim '(special *suppress-loading-systems*))))
(load-forms
(loop for system
in (slot-value (slot-value *host* 'propspec) 'systems)
diff --git a/src/propspec.lisp b/src/propspec.lisp
index bb5fa71..12a571e 100644
--- a/src/propspec.lisp
+++ b/src/propspec.lisp
@@ -146,12 +146,12 @@ systems."
,(slot-value first 'preprocessed-propspec)
,(slot-value second 'preprocessed-propspec))))
+(defvar *suppress-loading-systems* nil
+ "Bound by code which needs to prevent EVAL-PROPSPEC from attempting to load
+the ASDF systems associated with the propspec to be evaluated.")
+
(defmethod eval-propspec ((propspec propspec))
- ;; Don't try to load systems if we are a remote Lisp, as we don't upload the
- ;; .asd files, and we don't want to load out of /usr/share/common-lisp as we
- ;; might get a different version of the library at worst, or a lot of
- ;; warnings at best
- (unless *remote-lisp*
+ (unless *suppress-loading-systems*
(dolist (system (propspec-systems propspec))
(unless (asdf:component-loaded-p system)
(asdf:load-system system))))