aboutsummaryrefslogtreecommitdiff
path: root/src/data.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-14 12:02:02 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-15 17:18:39 -0700
commit408556dc555e92d49024e11f54979576ef3d31bd (patch)
treee805a83a8d960269256ae4641c5c4808546b0011 /src/data.lisp
parent84fc11d93b724519c38d0eeaa31ebd02dbb0738a (diff)
downloadconsfigurator-408556dc555e92d49024e11f54979576ef3d31bd.tar.gz
call :PREPROCESS and :HOSTATTRS subroutines later
Avoids us trying to eval propspecs at DEFHOST time, which can get us into ASDF loading loops. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/data.lisp')
-rw-r--r--src/data.lisp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/data.lisp b/src/data.lisp
index 70c75e7..b28a24a 100644
--- a/src/data.lisp
+++ b/src/data.lisp
@@ -359,6 +359,10 @@ The program returned is a single string consisting of a number of sexps
separated by newlines. Each sexp must be evaluated by the remote Lisp image
before the following sexp is offered to its reader. Usually this can be
achieved by sending the return value of this function into a REPL's stdin."
+ (unless (eq (type-of *host*) 'preprocessed-host)
+ (error "Attempt to send unpreprocessed host to remote Lisp.
+
+Preprocessing must occur in the root Lisp."))
(flet ((wrap (forms)
`(handler-bind
(;; we can skip missing data sources because these are not