summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-04-12 03:57:11 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-04-12 03:57:11 -0700
commit260173b6ad42a4643e6cde9ead210234bd47f545 (patch)
tree519f06b0f146b202fbf6c17501a4f37a3baf9d05 /share
parent46a4099f9fedf89d1a8cc45cf566750ab7284863 (diff)
downloadtxr-260173b6ad42a4643e6cde9ead210234bd47f545.tar.gz
txr-260173b6ad42a4643e6cde9ead210234bd47f545.tar.bz2
txr-260173b6ad42a4643e6cde9ead210234bd47f545.zip
Don't expand replacements of symbol macros.
* eval.c (expand_symacrolet, do_expand): Don't expand the replacement form of a global or lexical symbol macro at the time it is bound to its symbol. This is almost certainly wrong in situations where it makes a difference. * txr.1: Noted in compatibility section.
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/place.tl4
1 files changed, 2 insertions, 2 deletions
diff --git a/share/txr/stdlib/place.tl b/share/txr/stdlib/place.tl
index 5d17acb7..68567ed1 100644
--- a/share/txr/stdlib/place.tl
+++ b/share/txr/stdlib/place.tl
@@ -312,8 +312,8 @@
(getter-sym setter-sym update-body) :
((ssetter-sym clobber-body))
((deleter-sym delete-body)))
- (symacrolet ((name (car place-destructuring-args))
- (args (cdr place-destructuring-args)))
+ (let ((name (car place-destructuring-args))
+ (args (cdr place-destructuring-args)))
(unless (and name
(symbolp name)
(not (keywordp name))