summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/place.tl7
1 files changed, 5 insertions, 2 deletions
diff --git a/share/txr/stdlib/place.tl b/share/txr/stdlib/place.tl
index 67a593fb..e19caa2f 100644
--- a/share/txr/stdlib/place.tl
+++ b/share/txr/stdlib/place.tl
@@ -310,9 +310,12 @@
,delete-body)))))))))
(defmacro define-place-macro (name place-destructuring-args . body)
- (with-gensyms (name-dummy)
+ (with-gensyms (name-dummy args)
^(sethash *place-macro* ',name
- (tb ((,name-dummy ,*place-destructuring-args)) ,*body))))
+ (lambda (,args)
+ (mac-param-bind ,args
+ (,name-dummy ,*place-destructuring-args)
+ ,args ,*body)))))
(defplace (sys:var arg) body
(getter setter