summaryrefslogtreecommitdiffstats
path: root/place.tl
diff options
context:
space:
mode:
Diffstat (limited to 'place.tl')
-rw-r--r--place.tl6
1 files changed, 4 insertions, 2 deletions
diff --git a/place.tl b/place.tl
index ffa37a66..f4d48cff 100644
--- a/place.tl
+++ b/place.tl
@@ -202,8 +202,10 @@
(,setter-1 ,tmp))))))
(defmacro push (new-item place :env env)
- (with-update-expander (getter setter) place env
- ^(,setter (cons ,new-item (,getter)))))
+ (with-gensyms (new-sym)
+ ^(let ((,new-sym ,new-item))
+ ,(with-update-expander (getter setter) place env
+ ^(,setter (cons ,new-sym (,getter)))))))
(defmacro pop (place :env env)
(with-gensyms (tmp)