[Top][All Lists]
[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.}