﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
816	hygiene problem using `map' with prefixed `scheme' import	Moritz Heidkamp		"The compiler seems to rewrite calls to {{{map}}} in an unhygienic fashion. This surfaces when importing the {{{scheme}}} module with a prefix into a fresh module. The interpreter handles it fine though.

Example:

{{{
(module foo

()

;; the `quote' import is necessary due to another hygiene problem 
;; I'm investigating right now
(import (only scheme quote))
(import (prefix scheme ~))

(~map (~lambda (y) y) x)

)
}}}

This leads to the following warnings by {{{csc}}} (tested with 4.7.0.3-st and current master):

{{{
Warning: reference to possibly unbound identifier `set!'
Warning:    suggesting one of:
Warning:    (import r5rs-null)
Warning:    (import r4rs-null)
Warning:    (import scheme)
Warning:    (import r4rs)

Warning: reference to possibly unbound identifier `cons'
Warning:    suggesting one of:
Warning:    (import scheme)
Warning:    (import r4rs)

Warning: reference to possibly unbound identifier `g14'

Warning: reference to possibly unbound identifier `and'
Warning:    suggesting one of:
Warning:    (import r5rs-null)
Warning:    (import r4rs-null)
Warning:    (import scheme)
Warning:    (import r4rs)

Warning: reference to possibly unbound identifier `if'
Warning:    suggesting one of:
Warning:    (import r5rs-null)
Warning:    (import r4rs-null)
Warning:    (import scheme)
Warning:    (import r4rs)

Warning: reference to possibly unbound identifier `map-loop'

Warning: reference to possibly unbound identifier `x'

Warning: reference to possibly unbound identifier `g25'

Warning: reference to possibly unbound identifier `g19'

Warning: reference to possibly unbound identifier `g18'

Warning: reference to possibly unbound identifier `g17'

Warning: reference to possibly unbound identifier `let'
Warning:    suggesting one of:
Warning:    (import r5rs-null)
Warning:    (import r4rs-null)
Warning:    (import scheme)
Warning:    (import r4rs)

Error: module unresolved: foo

}}}"	defect	closed	minor	4.9.0	compiler	4.7.x	fixed			
