* boot-9.scm (process-use-modules): New function to support the
authorMarius Vollmer <mvo@zagadka.de>
Tue, 29 Apr 1997 18:22:54 +0000 (18:22 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Tue, 29 Apr 1997 18:22:54 +0000 (18:22 +0000)
use-modules macro
(use-modules): throw an error iff one of the
requested modules can't be found.

ice-9/boot-9.scm

index a5f868e..d5cc8cf 100644 (file)
      (set-current-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
-  `(for-each (lambda (module)
-              (module-use! (current-module)
-                           (resolve-interface module)))
-            (reverse ',modules)))
+  `(process-use-modules ',modules))
 
 (define define-private define)