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