Summary
reexporting syntax fails with compiled import libraries
Metadata
- Id: 8582861845cb00b66cb306cd7dfcd3a170109fe8
- Trac id: 154
- Type: defect
- Reporter: felix
- Owner: felix
- Cc:
- Status: closed
- Component: expander
- Estimated difficulty:
- Resolution: fixed
- Priority: major
- Milestone:
- Version: 4.3.x
- Changetime: 2010-03-11 10:33:12 UTC
- Created: 2010-01-02 01:10:37 UTC
- Keywords: reexport
Description
The following fails, when m1.import.scm is compiled:
(module x () (import scheme chicken) (reexport srfi-13) (require-library srfi-13))
When `use`ing `x`, the rexported syntax (`let-string-start+end`) will not be found, because the import is done during execution of `x.import.so`, and is not retained in the macro environment (that's the reason `eval` is used in import libs for the normal imports).
A possible fix may be adding the reexported modules to the normal imports, not the meta-imports.
Changes and comments
[2010-01-02 02:07:49 UTC] felix wrote:
Another possibly much simpler fix may be processing `reexport` not in "meta" mode.
[2010-01-06 08:56:10 UTC] felix changed summary
[2010-01-11 09:11:26 UTC] felix changed status from new to closed
[2010-01-11 09:11:26 UTC] felix set resolution to fixed
[2010-01-11 09:11:26 UTC] felix wrote:
Making `reexport` use the syntax env (not the meta syntax-env) appears to fix the problem. Fixed somewhere in `experimental`.