scm: Add list->char-set.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 26 Mar 2017 20:33:51 +0000 (22:33 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 26 Mar 2017 20:33:51 +0000 (22:33 +0200)
* module/srfi/srfi-14.mes (list->char-set): New function.
* tests/srfi-14.test ("list->char-set!"): Test it.

module/srfi/srfi-14.mes
tests/srfi-14.test

index 6d383b6d72fd215d61671b30bae4f38bd1156740..7287a4d52229d05840d00c12705d76974fe9b678 100644 (file)
@@ -37,6 +37,9 @@
 
 (define char-set:whitespace (char-set #\tab #\return #\vtab #\newline #\space))
 
+(define (list->char-set lst)
+  (apply char-set lst))
+
 (define (string->char-set x . base)
   (apply char-set (append (string->list x) (if (null? base) '() (cdar base)))))
 
index 977672407a2ba37982a8a8afa7ecf2e1f58585a2..a41db1a7bd11ea11148823d6a672431b1e8d5dd4 100755 (executable)
@@ -42,6 +42,9 @@ exit $?
 (pass-if "char-set-contains?"
     (char-set-contains? char-set:whitespace #\space))
 
+(pass-if "list->char-set!"
+  (char-set= (char-set #\a #\b #\c) (list->char-set '(#\a #\b #\c))))
+
 (pass-if "string->char-set!"
   (char-set= (char-set #\a #\b #\c #\d) (string->char-set! "d" (string->char-set "abc"))))