summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-08-08 00:06:15 -0700
committerKaz Kylheku <kaz@kylheku.com>2019-08-08 00:06:15 -0700
commitd45b3f4989157587b7a0e71833784610a8dc19c5 (patch)
treeeaaf17bceaea294062c1c3a464a5fbdbdee9c07e
parentc0955134aee2e9ccab11e6b38be95416d25046a9 (diff)
downloadtxr-d45b3f4989157587b7a0e71833784610a8dc19c5.tar.gz
txr-d45b3f4989157587b7a0e71833784610a8dc19c5.tar.bz2
txr-d45b3f4989157587b7a0e71833784610a8dc19c5.zip
pop: improve expansion.
* share/txr/stdlib/place.tl (pop): Use alet for binding the temporary rather than let, so that if (,getter) expands to a symbol, it will disappear.
-rw-r--r--share/txr/stdlib/place.tl2
1 files changed, 1 insertions, 1 deletions
diff --git a/share/txr/stdlib/place.tl b/share/txr/stdlib/place.tl
index 303548da..20405396 100644
--- a/share/txr/stdlib/place.tl
+++ b/share/txr/stdlib/place.tl
@@ -275,7 +275,7 @@
(defmacro pop (place :env env)
(with-gensyms (tmp)
(with-update-expander (getter setter) place env
- ^(let ((,tmp (,getter)))
+ ^(alet ((,tmp (,getter)))
(prog1 (car ,tmp) (,setter (cdr ,tmp)))))))
(defmacro pushnew (new-item place :env env :