Summary

Metadata

Attachments

Description

There still seems to be problems with the * export list:

 (module foo
 	*
 	(import chicken scheme)
 	(define-syntax baz
 	  (lambda _
 	    ''foo)))
 
 (module bar
 	*			; <- change to () and everything works
 	(import chicken scheme)
 	(import foo)
 	(export baz))
 
 (import bar)
 (print (baz))
 
 ;; Warning: exported identifier of module `bar' has not been defined: baz
 
 ;; Error: module unresolved: bar

Changes and comments

[2012-07-07 15:02:04 UTC] sjamaan attached macro-exports.patch (description=#f)

[2012-07-07 15:05:12 UTC] sjamaan wrote:

I'm unsure what an export of * is supposed to do with any macros imported from other modules. Is it supposed to re-export those always, or only on explicit request with (export ...)? I think the wildcard syntax is a bad idea and should probably be dropped.

Anyway, the above patch seems to fix the immediate problem, but it doesn't seem to work when an import library is generated for bar, so I guess there's still something missing.

[2012-07-07 15:06:37 UTC] sjamaan wrote:

I suppose the patch can be simplified by removing the symbol? check.

[2012-08-06 23:16:33 UTC] sjamaan changed status from new to closed

[2012-08-06 23:16:33 UTC] sjamaan set resolution to fixed

[2012-08-06 23:16:33 UTC] sjamaan wrote:

Felix made a proper fix, which went in as a01a9da3e4832791c70a062f4a1534909fff1c77

[2012-09-24 21:47:48 UTC] felix changed milestone from 4.8.0 to 4.9.0

[2012-09-24 21:47:48 UTC] felix wrote:

Milestone 4.8.0 deleted