aboutsummaryrefslogtreecommitdiff
path: root/src/propspec.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-19 18:49:52 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-19 19:07:10 -0700
commit8e4553269a4d2a14b0160ec9def80cade6648245 (patch)
treec387f61e0addd21a49bbf7035d8c126f4691ae16 /src/propspec.lisp
parentac8af44a2b999e492d247f87262878edfc8c6b6b (diff)
downloadconsfigurator-8e4553269a4d2a14b0160ec9def80cade6648245.tar.gz
run :HOSTATTRS subroutines even when unapplying
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/propspec.lisp')
-rw-r--r--src/propspec.lisp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/propspec.lisp b/src/propspec.lisp
index db8f81e..8572cae 100644
--- a/src/propspec.lisp
+++ b/src/propspec.lisp
@@ -337,6 +337,12 @@ apply the elements of REQUIREMENTS in reverse order."
:desc (lambda (&rest args)
(strcat "Unapply: " (apply #'propdesc psym args)))
:check (complement (get psym 'check))
+ :hostattrs (lambda (&rest args)
+ ;; run the :HOSTATTRS subroutine but throw away any
+ ;; new hostattrs; when unapplying, the :HOSTATTRS
+ ;; subroutine is only to check compatibility
+ (let ((*host* (shallow-copy-host *host*)))
+ (apply #'propattrs psym args)))
:apply (get psym 'unapply)
:unapply (get psym 'papply)
:args args)))