#296 closed defect (fixed)
Import with renaming fails when syntax refers to exported binding
| Reported by: | felix winkelmann | Owned by: | felix winkelmann |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | expander | Version: | 4.5.x |
| Keywords: | module export | Cc: | |
| Estimated difficulty: |
Description
(reported by Imran Rafique)
The following fails:
(module foo (bar baz)
(import scheme chicken)
(define (baz x)
(print x))
(define-syntax bar
(syntax-rules ()
((_ x) (baz x))))
)
(import (prefix foo f:))
(f:bar 1)
If the export list is replaced by ((bar baz)), then it works. The reason is that the SE of bar in the former case does not contain baz.
Change History (3)
comment:1 Changed 15 years ago by
comment:2 Changed 15 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Note: See
TracTickets for help on using
tickets.

Update: this example works if the module and the import are compiled, separately. So the cases where it fails are: