Add named character sets.
authorChris Hanson <org/chris-hanson/cph>
Wed, 3 May 2017 07:50:33 +0000 (00:50 -0700)
committerChris Hanson <org/chris-hanson/cph>
Wed, 3 May 2017 07:50:33 +0000 (00:50 -0700)
src/runtime/chrset.scm

index 49c55f918473719bb5ce85be8f1cf6559b1416d1..dd33e8b95981a1bc01dc4f3b7dbe25eb32fe7519 100644 (file)
@@ -278,6 +278,11 @@ USA.
           (loop (cdr cpl)
                 ranges
                 (cons (car cpl) char-sets)))
+         ((name->char-set (car cpl))
+          => (lambda (char-set)
+               (loop (cdr cpl)
+                     ranges
+                     (cons char-set char-sets))))
          (else
           (error:not-a cpl-element? (car cpl))))))
 
@@ -337,7 +342,20 @@ USA.
   (or (%range? object)
       (bitless-char? object)
       (string? object)
-      (char-set? object)))
+      (char-set? object)
+      (name->char-set object)))
+
+(define (name->char-set name)
+  (case name
+    ((alphabetic) char-set:alphabetic)
+    ((alphanumeric) char-set:alphanumeric)
+    ((cased) char-set:cased)
+    ((lower-case) char-set:lower-case)
+    ((numeric) char-set:numeric)
+    ((unicode) char-set:unicode)
+    ((upper-case) char-set:upper-case)
+    ((whitespace) char-set:whitespace)
+    (else #f)))
 
 (define (%range? object)
   (or (and (pair? object)