guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: top-repl priority of guile module


From: Kevin Ryde
Subject: Re: top-repl priority of guile module
Date: Sat, 09 Dec 2006 08:23:01 +1100
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

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)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]