aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-15 16:11:51 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-15 17:18:39 -0700
commitb8b4ce70653323850a3fb257159ae35eff071ab4 (patch)
tree0b54c6063a5d4b406ade7612b08b76da412c24c4
parent961da5a8f6dd1257d696623306df1710f5452e97 (diff)
downloadconsfigurator-b8b4ce70653323850a3fb257159ae35eff071ab4.tar.gz
don't ever try to load ASDF systems
Preprocessing a propspec will catch undefined properties and property combinators, and we only eval preprocessed propspecs, so there is no point in doing this anymore. We still need the list of ASDF systems to know what to upload. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--src/data.lisp12
-rw-r--r--src/propspec.lisp8
2 files changed, 2 insertions, 18 deletions
diff --git a/src/data.lisp b/src/data.lisp
index b28a24a..0ea673b 100644
--- a/src/data.lisp
+++ b/src/data.lisp
@@ -371,20 +371,13 @@ Preprocessing must occur in the root Lisp."))
(lambda (c)
(declare (ignore c))
(invoke-restart 'skip-data-source))))
- ;; 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))))
+ ,@forms)))
(let* ((intern-forms
(loop for name in '("MISSING-DATA-SOURCE"
- "SKIP-DATA-SOURCE"
- "*SUPPRESS-LOADING-SYSTEMS*")
+ "SKIP-DATA-SOURCE")
collect
`(export (intern ,name (find-package "CONSFIGURATOR"))
(find-package "CONSFIGURATOR"))))
- (proclamations `((proclaim '(special *suppress-loading-systems*))))
(load-forms
(loop for system
in (slot-value (slot-value *host* 'propspec) 'systems)
@@ -397,7 +390,6 @@ Preprocessing must occur in the root Lisp."))
(slot-value *connection* 'cached-data))))))
(forms `((make-package "CONSFIGURATOR")
,@intern-forms
- ,@proclamations
(define-condition missing-data-source (error) ())
(require "asdf")
(let ((*standard-output* *error-output*))
diff --git a/src/propspec.lisp b/src/propspec.lisp
index 9404d13..5f7b138 100644
--- a/src/propspec.lisp
+++ b/src/propspec.lisp
@@ -225,15 +225,7 @@ systems."
:propspec `(silent-seqprops ,(propspec-props first)
,(propspec-props second))))
-(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 preprocessed-propspec))
- (unless *suppress-loading-systems*
- (dolist (system (propspec-systems propspec))
- (unless (asdf:component-loaded-p system)
- (asdf:load-system system))))
(eval (slot-value propspec 'preprocessed-propspec-expression)))
(define-condition ambiguous-unevaluated-propspec (ambiguous-propspec) ()