bug#53244: Guile 3.0.7.14-118ee re-export bug

zacnix--- via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
There's a difference in exports depending on if you use use-modules vs resolve-module.

If a module re-exports a function and the module is imported using use-modules the re-export seems to work as one would expect as the documentation says, the cdr of the pair is the member of the public interface. 

If you use a resolve-module and then try to pull out the cdr using module-ref it fails with a "No variable named...." If you try module-variable you simply get a #f. If you try doing the module-ref with the original name then it pulls it through just fine.

Is this the expected behavior? As the user I would've expected no difference between use modules and the resolve-module method. Thank you.

#! guiles/main.scm
(add-to-load-path "$LOC")
;(use-modules (guiles two))

(define m (resolve-module '(guiles two)))
(define no-print (module-ref m 'no-print))
(display m)
(display "\n")
(display no-print)
!#

#! guiles/one.scm
(define-module (guiles one)
  #:export (print))

(define (print str)
  (display str))
!#

#! guiles/two.scm
(define-module (guiles two)
  #:use-module (guiles one)
  #:re-export ((print . no-print)))
!#
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.