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
commita9f907cda6eb2babe5fb5aa2107f7e65ea198872 (patch)
treeeaaf17bceaea294062c1c3a464a5fbdbdee9c07e
parent3b9804840a0c5b6f7a8b852019e90a703a0c018c (diff)
downloadtxr-a9f907cda6eb2babe5fb5aa2107f7e65ea198872.tar.gz
txr-a9f907cda6eb2babe5fb5aa2107f7e65ea198872.tar.bz2
txr-a9f907cda6eb2babe5fb5aa2107f7e65ea198872.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 :