Opened 7 months ago

Closed 7 months ago

#1614 closed defect (fixed)

define-foreign-type is broken inside modules

Reported by: sjamaan Owned by:
Priority: critical Milestone: 5.1
Component: expander Version: 5.0.0
Keywords: define-foreign-type Cc:
Estimated difficulty:

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.

Attachments (1)

test.patch (627 bytes) - added by sjamaan 7 months ago.
Regression test

Download all attachments as: .zip

Change History (2)

Changed 7 months ago by sjamaan

Attachment: test.patch added

Regression test

comment:1 Changed 7 months ago by sjamaan

Resolution: fixed
Status: newclosed

Fixed by 9dcd35b7862054a96321767eabe85c5215b2bcb6

Note: See TracTickets for help on using tickets.