1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-06 15:40:29 +02:00

* boot-9.scm (process-use-modules): New function to support the

use-modules macro
(use-modules): throw an error iff one of the
requested modules can't be found.
This commit is contained in:
Marius Vollmer 1997-04-29 18:22:54 +00:00
parent 9ea54cc6fa
commit 89da903671

View file

@ -2476,11 +2476,18 @@
(set-current-module module) (set-current-module module)
module)) module))
;; the guts of the use-modules macro. add the interfaces of the named
;; modules to the use-list of the current module, in order
(define (process-use-modules module-names)
(for-each (lambda (module-name)
(let ((mod-iface (resolve-interface module-name)))
(or mod-iface
(error "no such module" module-name))
(module-use! (current-module) mod-iface)))
(reverse module-names)))
(defmacro use-modules modules (defmacro use-modules modules
`(for-each (lambda (module) `(process-use-modules ',modules))
(module-use! (current-module)
(resolve-interface module)))
(reverse ',modules)))
(define define-private define) (define define-private define)