diff --git a/lib/chibi/strings.scm b/lib/chibi/strings.scm index 96fc44f7..8adc6ba6 100644 --- a/lib/chibi/strings.scm +++ b/lib/chibi/strings.scm @@ -5,10 +5,10 @@ (define (string-null? str) (equal? str "")) -;; TODO: support character sets (define (make-char-predicate x) (cond ((procedure? x) x) ((char? x) (lambda (ch) (eq? ch x))) + ((char-set? x) (lambda (ch) (char-set-contains? x ch))) (else (error "invalid character predicate" x)))) (define (complement pred) (lambda (x) (not (pred x)))) diff --git a/lib/chibi/strings.sld b/lib/chibi/strings.sld index 890fc9fb..a1c13733 100644 --- a/lib/chibi/strings.sld +++ b/lib/chibi/strings.sld @@ -11,5 +11,5 @@ string-find string-find-right string-skip string-skip-right string-fold string-fold-right string-map string-for-each string-contains make-string-searcher) - (import (scheme) (chibi ast)) + (import (scheme) (chibi ast) (chibi char-set base)) (include "strings.scm"))