Summary

define-foreign-type is broken inside modules

Metadata

Attachments

Description

The change of `define` to `##core#set!` broke `define-foreign-type`. It is wrong; if used inside a lambda it should expand to a local define, if used at global it should use `##core#set!` and register the export (but it's a gensym, so that's a bit odd anyway).

The best way to fix this is probably to expand to `define` in the macro instead of in the compiler core. This requires moving some machinery.

Changes and comments

[2019-05-07 11:34:04 UTC] sjamaan attached test.patch (description=Regression test)

[2019-05-17 21:36:13 UTC] sjamaan changed status from new to closed

[2019-05-17 21:36:13 UTC] sjamaan set resolution to fixed

[2019-05-17 21:36:13 UTC] sjamaan wrote:

Fixed by 9dcd35b7862054a96321767eabe85c5215b2bcb6