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)
(only (chibi) identifier? er-macro-transformer))
(cond-expand
((library (srfi 60)) (import (srfi 60)))
(else (import (srfi 33))))
((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 60))))
(export define-binary-record-type)
(include "binary-record.scm"))

View file

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

View file

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

View file

@ -5,8 +5,8 @@
(import (scheme base) (srfi 27)
(chibi bytevector) (chibi math prime))
(cond-expand
((library (srfi 60)) (import (srfi 60)))
(else (import (srfi 33))))
((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 60))))
(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-key? rsa-key-bits rsa-key-n rsa-key-e rsa-key-d

View file

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

View file

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

View file

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

View file

@ -5,8 +5,8 @@
(else (import (scheme base))))
(import (chibi iset base))
(cond-expand
((library (srfi 60)) (import (srfi 60)))
(else (import (srfi 33))))
((library (srfi 33)) (import (srfi 33)))
(else (import (srfi 60))))
(include "iterators.scm")
(export
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 constructors))
(cond-expand
((library (srfi 60)) (import (srfi 60)))
((library (srfi 33)) (import (srfi 33)))
(else
(import (srfi 33))
(import (srfi 60))
(begin
(define (%mask size) (bitwise-not (arithmetic-shift -1 size)))
(define (extract-bit-field size position n)

View file

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

View file

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

View file

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