broken importing with define-record-type

Bug #162741 reported by Michael D. Adams
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Fix Released
Medium
Abdulaziz Ghuloum

Bug Description

Me and Ikarus' libraries just don't seem to get along. Shouldn't this work?

$ cat lib1.ss
(library (lib1)
  (export def-dat)
  (import (rnrs))
  (define-syntax def-dat
    (syntax-rules ()
      ((_ x) (define-record-type x)))))
$ cat lib2.ss
(library (lib2)
  (export b?)
  (import (rnrs) (lib1))
  (def-dat b))
$ cat test.ss
(import (rnrs) (lib1) (lib2))

(def-dat a)
(write a?)
$ ikarus --r6rs-script test.ss
Unhandled exception:
 Condition components:
   1. &error
   2. &who: expander
   3. &message: "cannot export unbound identifier"
   4. &irritants: (b?)

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

It is unspecified (as far as R6RS is concerned) whether this should work or not. In Ikarus, it should work. Will fix.

Changed in ikarus:
assignee: nobody → aghuloum
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

Fixed in revision 1055.

Changed in ikarus:
status: Confirmed → Fix Committed
Revision history for this message
Michael D. Adams (mdmkolbe) wrote :

Awsome! (Though it is surprising that it isn't specified. Exporting a var defined using a macro that you imported seems like such a common thing to do.)

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

This bug report is about to be closed as the fix comitted previously
will be incorporated in the next 0.0.2 release of Ikarus Scheme,
scheduled for November 28, 2007.
A release candidate tarball is available for download from:
  http://www.cs.indiana.edu/~aghuloum/ikarus/ikarus-0.0.2-rc1.tar.gz
Please do test it if you have the time and report any issues you
might encounter. Thank you very much for your support. Aziz,,,
(Sorry for the duplicates; I'm updating every open bug.)

Changed in ikarus:
milestone: none → 0.0.2
Changed in ikarus:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.