diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-05-12 07:44:58 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-05-12 07:44:58 -0700 |
commit | ff0f81fcf1062e17a9b9f1967bac85f6dfc16a90 (patch) | |
tree | 652e2b24c9212533a877eafba1913caabc1ed942 /place.tl | |
parent | c9ad2400fa6e484951a1caedacfcae1175506a40 (diff) | |
download | txr-ff0f81fcf1062e17a9b9f1967bac85f6dfc16a90.tar.gz txr-ff0f81fcf1062e17a9b9f1967bac85f6dfc16a90.tar.bz2 txr-ff0f81fcf1062e17a9b9f1967bac85f6dfc16a90.zip |
* place.tl (rlet): For the sake of sane evaluation order
in the face of unknown side effects, do not thread symbolic references;
only propagate constants.
Diffstat (limited to 'place.tl')
-rw-r--r-- | place.tl | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -96,8 +96,8 @@ (defmacro rlet (bindings :env e . body) (let ((exp-bindings (mapcar (aret ^(,@1 ,(macroexpand @2 e))) bindings))) - (let ((renames [keep-if [orf symbolp constantp] exp-bindings second]) - (regular [remove-if [orf symbolp constantp] exp-bindings second])) + (let ((renames [keep-if constantp exp-bindings second]) + (regular [remove-if constantp exp-bindings second])) (cond ((and renames regular) ^(symacrolet ,renames (let ,regular ,*body))) |