#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 by , 15 years ago
comment:2 by , 15 years ago
| 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: