aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-03-05 13:54:15 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-03-05 13:54:15 -0700
commit89e39a4032610ce394d7bed233039c3450ba083c (patch)
tree897af38422d134f2f6c7787c183c3b1cdd190061
parenta26fa96e83f6a4cbd89348917301958f5b9deb5a (diff)
downloadconsfigurator-89e39a4032610ce394d7bed233039c3450ba083c.tar.gz
in SETPROP function cell, return :NO-CHANGE where appropriate
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r--src/property.lisp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/property.lisp b/src/property.lisp
index 89bf93c..421df15 100644
--- a/src/property.lisp
+++ b/src/property.lisp
@@ -45,10 +45,13 @@
(setf (fdefinition sym)
(if check
(lambda (&rest args)
- (unless (apply check args)
- (apply apply args)))
+ (if (apply check args)
+ :no-change
+ (apply apply args)))
apply)))
- (setf (fdefinition sym) #'noop))
+ (setf (fdefinition sym) (lambda (&rest ignore)
+ (declare (ignore ignore))
+ :no-change)))
(when unapply
(setf (get sym 'unapply) unapply))
(setf (get sym 'property) t)