mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 13:49:17 +02:00
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:
parent
4a19a5161a
commit
c52873e8b9
12 changed files with 24 additions and 24 deletions
|
@ -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"))
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"))))
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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?
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"))
|
||||||
|
|
Loading…
Add table
Reference in a new issue