diff options
-rw-r--r-- | doc/properties.rst | 4 | ||||
-rw-r--r-- | src/propspec.lisp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/doc/properties.rst b/doc/properties.rst index 6df06ff..771ef77 100644 --- a/doc/properties.rst +++ b/doc/properties.rst @@ -39,11 +39,11 @@ apply the property will always be made. ``:apply`` and ``:unapply`` subroutines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Apply or unapply the property. Should return ``:nochange`` if the property +Apply or unapply the property. Should return ``:no-change`` if the property was already applied; any other return value is interpreted as meaning that the property was not (fully) applied before we ran, but now it is. (If the ``:check`` function indicated that neither ``:apply`` nor ``:unapply`` should -be run, then this is equivalent to those subroutines returning ``:nochange``.) +be run, then this is equivalent to those subroutines returning ``:no-change``.) The point of having both these return value semantics and the ``:check`` subroutine is that a property might only be able to check whether it made a diff --git a/src/propspec.lisp b/src/propspec.lisp index 2994dad..22bd579 100644 --- a/src/propspec.lisp +++ b/src/propspec.lisp @@ -127,12 +127,12 @@ an atomic property application." (mapc #'propappattrs propapps)) :check (get psym 'check) :apply (lambda (&rest args) - (unless (eq :nochange + (unless (eq :no-change (apply psym args)) (loop for propapp in propapps do (propappapply propapp)))) :unapply (lambda (&rest args) - (unless (eq :nochange + (unless (eq :no-change (apply #'propunapply psym args)) (loop for propapp in propapps do (propappapply propapp))))) |