From 87b82b5822ca54228cfa6df29be3ad9d4bc47d16 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:28 -0800 Subject: Import Upstream version 2d2 --- require.scm | 55 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 10 deletions(-) (limited to 'require.scm') 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) -- cgit v1.2.3