aboutsummaryrefslogtreecommitdiff
path: root/src/property.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/property.lisp')
-rw-r--r--src/property.lisp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/property.lisp b/src/property.lisp
index 16803dd..5fbf3ff 100644
--- a/src/property.lisp
+++ b/src/property.lisp
@@ -42,13 +42,12 @@
(setf (get sym 'check) check))
(when apply
(setf (get sym 'apply) apply)
- (eval `(defun ,sym ()))
- (setf (symbol-function sym)
- (if check
+ (let ((f (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)