chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #131: check for defined exports may be confused by re


From: Chicken Trac
Subject: [Chicken-janitors] #131: check for defined exports may be confused by renaming
Date: Wed, 25 Nov 2009 21:10:18 -0000

#131: check for defined exports may be confused by renaming
----------------------+-----------------------------------------------------
 Reporter:  felix     |       Owner:  felix
     Type:  defect    |      Status:  new  
 Priority:  major     |   Milestone:  4.3.0
Component:  expander  |     Version:  4.2.x
 Keywords:  modules   |  
----------------------+-----------------------------------------------------
 If a macro expands into a module-definition, the check for missing export
 definitions appears not to take renaming into account:

 {{{
 (define-syntax testm
   (syntax-rules ()
     ((_)
      (module foo (bar)
        (import scheme)
        (define bar 1)))))
 }}}

 gives an "unresolved module" error.

 Possibly, these tests using `assq` are incorrect and should lookup the id
 first (`##sys#finalize-module` in `expand.scm`):

 {{{
                         (let ((def (assq id dlist)))
                           (if (and def (symbol? (cdr def)))
                               (cdr def)
                               (let ((a (assq id (##sys#current-
 environment))))
 }}}

-- 
Ticket URL: <http://www.irp.oist.jp/trac/chicken/ticket/131>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]