summaryrefslogtreecommitdiffstats
path: root/place.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-05-12 07:44:58 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-05-12 07:44:58 -0700
commitff0f81fcf1062e17a9b9f1967bac85f6dfc16a90 (patch)
tree652e2b24c9212533a877eafba1913caabc1ed942 /place.tl
parentc9ad2400fa6e484951a1caedacfcae1175506a40 (diff)
downloadtxr-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.tl4
1 files changed, 2 insertions, 2 deletions
diff --git a/place.tl b/place.tl
index 6003fa30..ffa37a66 100644
--- a/place.tl
+++ b/place.tl
@@ -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)))