Use ucd-X-value directly in ustring.
authorChris Hanson <org/chris-hanson/cph>
Sun, 19 Mar 2017 00:08:31 +0000 (17:08 -0700)
committerChris Hanson <org/chris-hanson/cph>
Sun, 19 Mar 2017 00:08:31 +0000 (17:08 -0700)
src/runtime/runtime.pkg
src/runtime/ustring.scm

index 2792eb32997a426244bb5b85c8169f1fb586cc6a..0cb362bcad353aeb69fa66614a1325fc006cc99e 100644 (file)
@@ -1280,11 +1280,6 @@ USA.
          char-set:lower-case
          char-set:upper-case
          char-set:whitespace)
-  (export (runtime)
-         (char-downcase-full ucd-lc-value)
-         (char-foldcase-full ucd-cf-value)
-         (char-titlecase-full ucd-tc-value)
-         (char-upcase-full ucd-uc-value))
   (export (runtime character)
          ucd-gc-value
          ucd-nt-value
@@ -1292,6 +1287,8 @@ USA.
          ucd-scf-value
          ucd-slc-value
          ucd-suc-value)
+  (export (runtime parser)
+         (char-foldcase-full ucd-cf-value))
   (export (runtime ucd-glue)
          char-set:changes-when-case-folded
          ucd-nt-value)
@@ -1301,8 +1298,12 @@ USA.
          char-changes-when-upper-cased?
          char-nfd-quick-check?
          ucd-ccc-value
+         ucd-cf-value
          ucd-dm-value
          ucd-gcb-value
+         ucd-lc-value
+         ucd-tc-value
+         ucd-uc-value
          ucd-wb-value))
 
 (define-package (runtime ucd-glue)
index 8ed2722588b2c5978ebe02fdb1572a5d045ed91b..1aaac2170502fd6431cd00d6228775f8e6b6c7c6 100644 (file)
@@ -436,13 +436,13 @@ USA.
 ;;;; Case
 
 (define (string-downcase string)
-  (case-transform char-downcase-full string))
+  (case-transform ucd-lc-value string))
 
 (define (string-foldcase string)
-  (case-transform char-foldcase-full string))
+  (case-transform ucd-cf-value string))
 
 (define (string-upcase string)
-  (case-transform char-upcase-full string))
+  (case-transform ucd-uc-value string))
 
 (define (case-transform transform string)
   (let ((builder (string-builder))
@@ -466,10 +466,10 @@ USA.
        (let ((char (string-ref string index)))
          (if (char-cased? char)
              (begin
-               (builder (char-titlecase-full char))
+               (builder (ucd-tc-value char))
                (do ((index (fix:+ index 1) (fix:+ index 1)))
                    ((not (fix:< index end)))
-                 (builder (char-downcase-full (string-ref string index)))))
+                 (builder (ucd-lc-value (string-ref string index)))))
              (begin
                (builder char)
                (loop (fix:+ index 1))))))))