diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-04-12 03:57:11 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-04-12 03:57:11 -0700 |
commit | 260173b6ad42a4643e6cde9ead210234bd47f545 (patch) | |
tree | 519f06b0f146b202fbf6c17501a4f37a3baf9d05 /share | |
parent | 46a4099f9fedf89d1a8cc45cf566750ab7284863 (diff) | |
download | txr-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.tl | 4 |
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)) |