From 260173b6ad42a4643e6cde9ead210234bd47f545 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 12 Apr 2016 03:57:11 -0700 Subject: 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. --- share/txr/stdlib/place.tl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'share') 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)) -- cgit v1.2.3