[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #1060: reexport doesn't reexport implicit syntax expo
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #1060: reexport doesn't reexport implicit syntax exports |
Date: |
Fri, 08 Nov 2013 10:31:32 -0000 |
#1060: reexport doesn't reexport implicit syntax exports
----------------------+-----------------------------------------------------
Reporter: syn | Owner:
Type: defect | Status: new
Priority: major | Milestone: 4.9.0
Component: expander | Version: 4.8.x
Keywords: |
----------------------+-----------------------------------------------------
Given a module that exports some syntax which expands to an identifier
which isn't explicilty exported, that syntax will not work if it is
reexported by another module. Example:
{{{
;;; example.scm
(module foo
(some-syntax)
(import scheme)
(define-syntax some-implicitly-used-syntax
(syntax-rules ()
((_ x) x)))
(define-syntax some-syntax
(syntax-rules ()
((_ x)
(some-implicitly-used-syntax 'x))))
)
(module bar
()
(reexport foo)
)
}}}
To trigger the bug:
{{{
$ csc -s -J example.scm
$ csi -R foo -p '(some-syntax bar)'
bar
$ csi -R bar -p '(some-syntax bar)'
Error: unbound variable: some-implicitly-used-syntax
}}}
This was tested with version 4.8.0.5 only so far.
--
Ticket URL: <http://bugs.call-cc.org/ticket/1060>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] #1060: reexport doesn't reexport implicit syntax exports,
Chicken Trac <=