diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-06-15 20:41:21 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-06-17 09:35:39 -0700 |
commit | b24ff2c7365ee8d42063cbfa06ece3ef591d9a35 (patch) | |
tree | fe52384440b5bf86e2080e79824ad7c1cc87d262 /src/combinator.lisp | |
parent | 7e1f68df69c29a3319cb4723b98c52023c1181cc (diff) | |
download | consfigurator-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.lisp | 4 |
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) |