summaryrefslogtreecommitdiffstats
path: root/require.scm
diff options
context:
space:
mode:
Diffstat (limited to 'require.scm')
-rw-r--r--require.scm55
1 files changed, 45 insertions, 10 deletions
diff --git a/require.scm b/require.scm
index a578349..e5d919d 100644
--- a/require.scm
+++ b/require.scm
@@ -1,9 +1,9 @@
;;;; Implementation of VICINITY and MODULES for Scheme
;Copyright (C) 1991, 1992, 1993, 1994, 1997 Aubrey Jaffer
;
-;Permission to copy this software, to redistribute it, and to use it
-;for any purpose is granted, subject to the following restrictions and
-;understandings.
+;Permission to copy this software, to modify it, to redistribute it,
+;to distribute modified versions, and to use it for any purpose is
+;granted, subject to the following restrictions and understandings.
;
;1. Any copy made of this software must include this copyright notice
;in full.
@@ -17,7 +17,7 @@
;promotional, or sales literature without prior written consent in
;each case.
-(define *SLIB-VERSION* "2c7")
+(define *SLIB-VERSION* "2d2")
;;; Standardize msdos -> ms-dos.
(define software-type
@@ -48,7 +48,7 @@
((vicinity:suffix? (string-ref *load-pathname* i))
(substring *load-pathname* 0 (+ i 1)))
(else (loop (- i 1)))))
- (slib:error "Not loading but called" 'program-vicinity)))
+ (slib:error 'program-vicinity " called; use slib:load to load")))
(define sub-vicinity
(case (software-type)
@@ -143,11 +143,12 @@
(define (require:provided? feature)
(if (symbol? feature)
(if (memq feature *features*) #t
- (let ((path (catalog:get feature)))
- (cond ((symbol? path) (require:provided? path))
- ((member (if (pair? path) (cdr path) path) *modules*)
- #t)
- (else #f))))
+ (and *catalog*
+ (let ((path (catalog:get feature)))
+ (cond ((symbol? path) (require:provided? path))
+ ((member (if (pair? path) (cdr path) path) *modules*)
+ #t)
+ (else #f)))))
(and (member feature *modules*) #t)))
(define (require:feature->path feature)
@@ -203,6 +204,40 @@
(let ((n (string->number "9999999999999999999999999999999")))
(if (and n (exact? n)) (require:provide 'bignum)))
+(cond
+ ((provided? 'srfi)
+ (cond-expand (srfi-0 (provide 'srfi-0)) (else #f))
+ (cond-expand (srfi-1 (provide 'srfi-1)) (else #f))
+ (cond-expand (srfi-2 (provide 'srfi-2)) (else #f))
+ (cond-expand (srfi-3 (provide 'srfi-3)) (else #f))
+ (cond-expand (srfi-4 (provide 'srfi-4)) (else #f))
+ (cond-expand (srfi-5 (provide 'srfi-5)) (else #f))
+ (cond-expand (srfi-6 (provide 'srfi-6)) (else #f))
+ (cond-expand (srfi-7 (provide 'srfi-7)) (else #f))
+ (cond-expand (srfi-8 (provide 'srfi-8)) (else #f))
+ (cond-expand (srfi-9 (provide 'srfi-9)) (else #f))
+ (cond-expand (srfi-10 (provide 'srfi-10)) (else #f))
+ (cond-expand (srfi-11 (provide 'srfi-11)) (else #f))
+ (cond-expand (srfi-12 (provide 'srfi-12)) (else #f))
+ (cond-expand (srfi-13 (provide 'srfi-13)) (else #f))
+ (cond-expand (srfi-14 (provide 'srfi-14)) (else #f))
+ (cond-expand (srfi-15 (provide 'srfi-15)) (else #f))
+ (cond-expand (srfi-16 (provide 'srfi-16)) (else #f))
+ (cond-expand (srfi-17 (provide 'srfi-17)) (else #f))
+ (cond-expand (srfi-18 (provide 'srfi-18)) (else #f))
+ (cond-expand (srfi-19 (provide 'srfi-19)) (else #f))
+ (cond-expand (srfi-20 (provide 'srfi-20)) (else #f))
+ (cond-expand (srfi-21 (provide 'srfi-21)) (else #f))
+ (cond-expand (srfi-22 (provide 'srfi-22)) (else #f))
+ (cond-expand (srfi-23 (provide 'srfi-23)) (else #f))
+ (cond-expand (srfi-24 (provide 'srfi-24)) (else #f))
+ (cond-expand (srfi-25 (provide 'srfi-25)) (else #f))
+ (cond-expand (srfi-26 (provide 'srfi-26)) (else #f))
+ (cond-expand (srfi-27 (provide 'srfi-27)) (else #f))
+ (cond-expand (srfi-28 (provide 'srfi-28)) (else #f))
+ (cond-expand (srfi-29 (provide 'srfi-29)) (else #f))
+ (cond-expand (srfi-30 (provide 'srfi-30)) (else #f))))
+
(define report:print
(lambda args
(for-each (lambda (x) (write x) (display #\ )) args)