diff options
-rw-r--r-- | src/property.lisp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/property.lisp b/src/property.lisp index 5fbf3ff..4c42a3f 100644 --- a/src/property.lisp +++ b/src/property.lisp @@ -42,12 +42,12 @@ (setf (get sym 'check) check)) (when apply (setf (get sym 'apply) apply) - (let ((f (if check + (setf (fdefinition sym) + (if check (lambda (&rest args) (unless (apply check args) (apply apply args))) apply))) - (eval `(defun ,sym ,args ,f)))) (when unapply (setf (get sym 'unapply) unapply)) (setf (get sym 'property) t) |