aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2022-08-21 15:42:22 -0700
committerSean Whitton <spwhitton@spwhitton.name>2022-08-25 11:13:56 -0700
commitd75ad33ae2bee15a47f53822a3becbf10ed96d88 (patch)
tree22baca52e0691377ff5d0c57aeed8139872bb99d
parentbdaa1a3ab4733767f5ee38b79e7b5f171879135c (diff)
downloadconsfigurator-d75ad33ae2bee15a47f53822a3becbf10ed96d88.tar.gz
PROPAPPLY: error if neither :APPLY nor :HOSTATTRS subroutines
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--src/property.lisp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/property.lisp b/src/property.lisp
index 8e73928..3aebe75 100644
--- a/src/property.lisp
+++ b/src/property.lisp
@@ -104,7 +104,15 @@
(with-some-errors-are-failed-change
(if (aand (get prop 'check) (apply it args))
:no-change
- (apply (get prop 'papply (constantly :no-change)) args))))
+ (aif (get prop 'papply)
+ (apply it args)
+ (if (get prop 'hostattrs)
+ :no-change
+ (aborted-change
+ "~S has neither an :APPLY nor a :HOSTATTRS subroutine.
+
+(Have you added a new .lisp file but not yet listed it in the relevant .asd?)"
+ prop))))))
(defun apply-propapp (propapp)
(if propapp