aboutsummaryrefslogtreecommitdiff
path: root/src/combinator.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-06-15 20:41:21 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-06-17 09:35:39 -0700
commitb24ff2c7365ee8d42063cbfa06ece3ef591d9a35 (patch)
treefe52384440b5bf86e2080e79824ad7c1cc87d262 /src/combinator.lisp
parent7e1f68df69c29a3319cb4723b98c52023c1181cc (diff)
downloadconsfigurator-b24ff2c7365ee8d42063cbfa06ece3ef591d9a35.tar.gz
ON-CHANGE: when unapplying, apply the secondary propapps
I believe the new semantics are more useful: when we unapply a property which has additional properties which will be applied when a change is made, also apply those properties in just the same way when unapplying the primary property makes a change. WITH-UNAPPLY can be used to override, or we might add a variant of ON-CHANGE which ignores the secondary propapps completely when unapplying. But I can't currently envisage a situation in which what is wanted is unapplying the secondary propapps in reverse order. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/combinator.lisp')
-rw-r--r--src/combinator.lisp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/combinator.lisp b/src/combinator.lisp
index 4dcd878..bcba1c3 100644
--- a/src/combinator.lisp
+++ b/src/combinator.lisp
@@ -210,8 +210,8 @@ ON-CHANGE in order."
(if (eql :no-change
(propappunapply (cons (car propapp) args)))
:no-change
- (dolist (propapp (reverse propapps))
- (propappunapply propapp))))
+ (dolist (propapp propapps)
+ (propappapply propapp))))
:args (cdr propapp)))
(defmacro as (user &body properties)