Prefer SRFI 33 over SRFI 60, preventing import cycles when a user has

a SRFI 60 installed which imports (scheme base).  This can still break
in theory if a user installs a third-party SRFI 33 in the search path
in front of the Chibi SRFI 33, but we can't always be safe against
such behavior.
Fixes issue #267.
This commit is contained in:
Alex Shinn 2015-06-09 00:13:16 +09:00
parent 4a19a5161a
commit c52873e8b9
12 changed files with 24 additions and 24 deletions

View file

@ -5,7 +5,7 @@
(chibi io) (chibi string) (chibi io) (chibi string)
(only (chibi) identifier? er-macro-transformer)) (only (chibi) identifier? er-macro-transformer))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(export define-binary-record-type) (export define-binary-record-type)
(include "binary-record.scm")) (include "binary-record.scm"))

View file

@ -11,6 +11,6 @@
bytevector->hex-string hex-string->bytevector) bytevector->hex-string hex-string->bytevector)
(import (scheme base)) (import (scheme base))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(include "bytevector.scm")) (include "bytevector.scm"))

View file

@ -5,7 +5,7 @@
(define-library (chibi crypto md5) (define-library (chibi crypto md5)
(import (scheme base) (chibi bytevector)) (import (scheme base) (chibi bytevector))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(export md5) (export md5)
(include "md5.scm")) (include "md5.scm"))

View file

@ -5,8 +5,8 @@
(import (scheme base) (srfi 27) (import (scheme base) (srfi 27)
(chibi bytevector) (chibi math prime)) (chibi bytevector) (chibi math prime))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(export make-rsa-key rsa-key-gen rsa-key-gen-from-primes rsa-pub-key (export make-rsa-key rsa-key-gen rsa-key-gen-from-primes rsa-pub-key
rsa-encrypt rsa-decrypt rsa-sign rsa-verify rsa-verify? rsa-encrypt rsa-decrypt rsa-sign rsa-verify rsa-verify?
rsa-key? rsa-key-bits rsa-key-n rsa-key-e rsa-key-d rsa-key? rsa-key-bits rsa-key-n rsa-key-e rsa-key-d

View file

@ -11,8 +11,8 @@
(include-shared "crypto")) (include-shared "crypto"))
(else (else
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(import (chibi bytevector)) (import (chibi bytevector))
(include "sha2.scm")))) (include "sha2.scm"))))

View file

@ -4,8 +4,8 @@
(chibi (import (chibi) (srfi 9))) (chibi (import (chibi) (srfi 9)))
(else (import (scheme base)))) (else (import (scheme base))))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(include "base.scm") (include "base.scm")
(export (export
%make-iset make-iset iset? iset-contains? Integer-Set %make-iset make-iset iset? iset-contains? Integer-Set

View file

@ -5,8 +5,8 @@
(else (import (scheme base)))) (else (import (scheme base))))
(import (chibi iset base) (chibi iset iterators)) (import (chibi iset base) (chibi iset iterators))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(include "constructors.scm") (include "constructors.scm")
(export (export
iset iset-copy list->iset list->iset! iset-map iset iset-copy list->iset list->iset! iset-map

View file

@ -5,8 +5,8 @@
(else (import (scheme base)))) (else (import (scheme base))))
(import (chibi iset base)) (import (chibi iset base))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(include "iterators.scm") (include "iterators.scm")
(export (export
iset-empty? iset-fold iset-fold-node iset-for-each iset-for-each-node iset-empty? iset-fold iset-fold-node iset-for-each iset-for-each-node

View file

@ -7,9 +7,9 @@
(chibi iset iterators) (chibi iset iterators)
(chibi iset constructors)) (chibi iset constructors))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (else
(import (srfi 33)) (import (srfi 60))
(begin (begin
(define (%mask size) (bitwise-not (arithmetic-shift -1 size))) (define (%mask size) (bitwise-not (arithmetic-shift -1 size)))
(define (extract-bit-field size position n) (define (extract-bit-field size position n)

View file

@ -2,8 +2,8 @@
(define-library (chibi math prime) (define-library (chibi math prime)
(import (scheme base) (scheme inexact) (srfi 27)) (import (scheme base) (scheme inexact) (srfi 27))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(export prime? nth-prime prime-above prime-below factor perfect? (export prime? nth-prime prime-above prime-below factor perfect?
totient aliquot totient aliquot
provable-prime? probable-prime? provable-prime? probable-prime?

View file

@ -13,8 +13,8 @@
regexp-match->list regexp-match->sexp) regexp-match->list regexp-match->sexp)
(import (srfi 69)) (import (srfi 69))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
;; Chibi's char-set library is more factored than SRFI-14. ;; Chibi's char-set library is more factored than SRFI-14.
(cond-expand (cond-expand
(chibi (chibi

View file

@ -5,6 +5,6 @@
(srfi 1) (srfi 1)
(chibi string) (chibi regexp)) (chibi string) (chibi regexp))
(cond-expand (cond-expand
((library (srfi 60)) (import (srfi 60))) ((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 33)))) (else (import (srfi 60))))
(include "pcre.scm")) (include "pcre.scm"))