aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-04-01 23:25:15 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-04-01 23:25:15 -0700
commit1cd570185ae1410d3e483d09483223744eadddb2 (patch)
tree30418e1744ac4abc7cd46dddd38cedcbce089991
parentdc02a5697dedfe11195c9fae99a70ea76aa5cbd8 (diff)
downloadconsfigurator-1cd570185ae1410d3e483d09483223744eadddb2.tar.gz
ON-CHANGE*: propagate :NO-CHANGE
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--src/combinator.lisp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/combinator.lisp b/src/combinator.lisp
index 8c7a14b..ee70d62 100644
--- a/src/combinator.lisp
+++ b/src/combinator.lisp
@@ -127,15 +127,17 @@ ON-CHANGE in order."
:hostattrs (lambda (&rest args)
(apply #'propattrs (car propapp) args))
:apply (lambda (&rest args)
- (unless (eq (propappapply (cons (car propapp) args))
- :no-change)
- (dolist (propapp propapps)
- (propappapply propapp))))
+ (if (eql :no-change
+ (propappapply (cons (car propapp) args)))
+ :no-change
+ (dolist (propapp propapps)
+ (propappapply propapp))))
:unapply (lambda (&rest args)
- (unless (eq (propappunapply (cons (car propapp) args))
- :no-change)
- (dolist (propapp (reverse propapps))
- (propappunapply propapp))))
+ (if (eql :no-change
+ (propappunapply (cons (car propapp) args)))
+ :no-change
+ (dolist (propapp (reverse propapps))
+ (propappunapply propapp))))
:args (cdr propapp)))
(defmacro as (user &body properties)