|
From: | Dale Smith |
Subject: | bug#43025: re-export-public-interface fails on Guile 3 |
Date: | Wed, 26 Aug 2020 22:21:04 -0400 |
This seems to work for guile-2.2 and guile-3. Would be nice if it checked that module names look like lists. One step closer to g-golf working on guile-3! (define-syntax re-export-public-interface (syntax-rules () "Re-export the public interface of a module or modules. Invoked as @code{(re-export-public-interface (mod1) (mod2) ...)}." ((_ mod mods ...) (let ((iface (module-public-interface (current-module)))) (define (r-e-p-i module) (cond-expand (guile-3 (module-for-each (lambda (sym val) (hashq-set! (module-replacements iface) sym #t) (module-add! iface sym val)) (resolve-interface module))) (else (module-use! iface (resolve-interface module))))) (r-e-p-i 'mod) (r-e-p-i 'mods) ...))))
[Prev in Thread] | Current Thread | [Next in Thread] |