R5RS didn't specify this, which was always a very annoying obstacle to portability. E.g., (define x 1) (let-syntax ((foo (lambda (e) (syntax (begin (define x 2) x))))) (foo)) ;==> 2 x ;==> NOT SPECIFIED IF IT SHOULD BE 1 or 2 It seems from my reading on p. 15 that R7RS doesn't specify it either. In otehr words, definitions introduced in macros can possibly shadow toplevel bindings, which is a major obstacle to safe hygienic macro programming. _______________________________________________ Scheme-reports mailing list Scheme-reports@scheme-reports.org http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports