Actually, I find my change is enough for srfi-1 iota, but not for
srfi-17 car in 1.8, probably because it's a #:replacement.

Does the change below to use process-use-modules in both use-srfis and
top-repl seem better?  The idea would be to do the same as the guts of
an ordinary use-modules.

--- boot-9.scm.~1.356.2.5.~	2006-12-09 08:11:09.000000000 +1100
+++ boot-9.scm	2006-12-09 08:13:50.000000000 +1100
@@ -3313,13 +3313,11 @@
 ;; numbers, which are the numbers of the SRFIs to be loaded on startup.
 ;;
 (define (use-srfis srfis)
-  (let lp ((s srfis))
-    (if (pair? s)
-        (let* ((srfi (string->symbol
-                      (string-append "srfi-" (number->string (car s)))))
-               (mod-i (resolve-interface (list 'srfi srfi))))
-          (module-use! (current-module) mod-i)
-          (lp (cdr s))))))
+  (process-use-modules
+   (map (lambda (num)
+	  (list (list 'srfi (string->symbol
+			     (string-append "srfi-" (number->string num))))))
+	srfis)))
 
 
 
@@ -3387,19 +3385,23 @@
 
     ;; Use some convenient modules (in reverse order)
 
-    (if (provided? 'regex)
-	(module-use! guile-user-module (resolve-interface '(ice-9 regex))))
-    (if (provided? 'threads)
-	(module-use! guile-user-module (resolve-interface '(ice-9 threads))))
+    (set-current-module guile-user-module)
+    (process-use-modules 
+     (append
+      '(((ice-9 r5rs))
+	((ice-9 session))
+	((ice-9 debug)))
+      (if (provided? 'regex)
+	  '(((ice-9 regex)))
+	  '())
+      (if (provided? 'threads)
+	  '(((ice-9 threads)))
+	  '())))
     ;; load debugger on demand
     (module-use! guile-user-module
 		 (make-autoload-interface guile-user-module
 					  '(ice-9 debugger) '(debug)))
-    (module-use! guile-user-module (resolve-interface '(ice-9 session)))
-    (module-use! guile-user-module (resolve-interface '(ice-9 debug)))
-    (module-use! guile-user-module (resolve-interface '(ice-9 r5rs)))
 
-    (set-current-module guile-user-module)
 
     (let ((old-handlers #f)
 	  (signals (if (provided? 'posix)
_______________________________________________
Guile-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to