diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-08-08 00:06:15 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-08-08 00:06:15 -0700 |
commit | a9f907cda6eb2babe5fb5aa2107f7e65ea198872 (patch) | |
tree | eaaf17bceaea294062c1c3a464a5fbdbdee9c07e | |
parent | 3b9804840a0c5b6f7a8b852019e90a703a0c018c (diff) | |
download | txr-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.tl | 2 |
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 : |