guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/ice-9 ChangeLog boot-9.scm


From: Martin Grabmueller
Subject: guile/guile-core/ice-9 ChangeLog boot-9.scm
Date: Tue, 15 May 2001 13:20:52 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Martin Grabmueller <address@hidden>     01/05/15 13:20:51

Modified files:
        guile-core/ice-9: ChangeLog boot-9.scm 

Log message:
        * boot-9.scm (cond-expand-features): Made the feature list public,
        so it can be manipulated by `use-srfis'.
        (use-srfis): New procedure.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/ice-9/ChangeLog.diff?cvsroot=OldCVS&tr1=1.426&tr2=1.427&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile-core/ice-9/boot-9.scm.diff?cvsroot=OldCVS&tr1=1.247&tr2=1.248&r1=text&r2=text

Patches:
Index: guile/guile-core/ice-9/ChangeLog
diff -u guile/guile-core/ice-9/ChangeLog:1.426 
guile/guile-core/ice-9/ChangeLog:1.427
--- guile/guile-core/ice-9/ChangeLog:1.426      Tue May 15 12:38:57 2001
+++ guile/guile-core/ice-9/ChangeLog    Tue May 15 13:20:51 2001
@@ -1,3 +1,9 @@
+2001-05-15  Martin Grabmueller  <address@hidden>
+
+       * boot-9.scm (cond-expand-features): Made the feature list public,
+       so it can be manipulated by `use-srfis'.
+       (use-srfis): New procedure.
+
 2001-05-15  Thien-Thi Nguyen  <address@hidden>
 
        * boot-9.scm (resolve-interface): Signal error now also if
Index: guile/guile-core/ice-9/boot-9.scm
diff -u guile/guile-core/ice-9/boot-9.scm:1.247 
guile/guile-core/ice-9/boot-9.scm:1.248
--- guile/guile-core/ice-9/boot-9.scm:1.247     Tue May 15 12:33:43 2001
+++ guile/guile-core/ice-9/boot-9.scm   Tue May 15 13:20:51 2001
@@ -2721,15 +2721,15 @@
 ;;;
 ;;; Currently, the following feature identifiers are supported:
 ;;;
-;;;   guile r5rs srfi-0 srfi-6
+;;;   guile r5rs srfi-0
 ;;;
 ;;; Remember to update the features list when adding more SRFIs.
 
-(define-macro (cond-expand clause . clauses)
+(define cond-expand-features
+  ;; Adjust the above comment when changing this.
+  '(guile r5rs srfi-0))
 
-  (define features
-    ;; Adjust the above comment when changing this.
-    '(guile r5rs srfi-0 srfi-6))
+(define-macro (cond-expand clause . clauses)
 
   (let ((clauses (cons clause clauses))
        (syntax-error (lambda (cl)
@@ -2739,7 +2739,7 @@
          (lambda (clause)
            (cond
              ((symbol? clause)
-              (memq clause features))
+              (memq clause cond-expand-features))
              ((pair? clause)
               (cond
                 ((eq? 'and (car clause))
@@ -2785,6 +2785,20 @@
          (else
           (lp (cdr c))))))))
 
+;; This procedure gets called from the startup code with a list of
+;; 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 (resolve-interface (list 'srfi srfi))))
+       (module-use! (current-module) mod)
+       (set! cond-expand-features
+             (append cond-expand-features (list srfi)))
+       (lp (cdr s))))))
+       
 
 
 ;;; {Load emacs interface support if emacs option is given.}



reply via email to

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