﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
618	bound variables get stripped incorrectly	felix winkelmann	felix winkelmann	"Matthew Flatt reports:

The following program prints a gensym in v4.7.0 and 4aaea216cc9887, but I think it should print the symbol 'x:

{{{
 (define-syntax c 
   (syntax-rules () 
     [(_) 
      (let ([x 10]) 
        (let-syntax ([z (syntax-rules ()
                          [(_) (quote x)])])
          (write (z))
          (newline)))]))

 (c)
}}}

I wrote the example because I'm suspicious of ""compiler.scm"" treating `##core#quote' and `##core#syntax` the same. Maybe `##sys#strip-syntax` in ""expand.scm"" is supposed to do different things in quote and syntax mode; the comment ""if se is given, retain bound vars"" in `##sys#strip-syntax` suggests that it had two modes at some point in the past.
"	defect	closed	major	4.9.0	expander	4.7.x	fixed	syntax strip-syntax		
