diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-03-15 16:11:51 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-03-15 17:18:39 -0700 |
commit | b8b4ce70653323850a3fb257159ae35eff071ab4 (patch) | |
tree | 0b54c6063a5d4b406ade7612b08b76da412c24c4 | |
parent | 961da5a8f6dd1257d696623306df1710f5452e97 (diff) | |
download | consfigurator-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.lisp | 12 | ||||
-rw-r--r-- | src/propspec.lisp | 8 |
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) () |