Move char->string to ustring.
authorChris Hanson <org/chris-hanson/cph>
Sun, 19 Feb 2017 09:29:04 +0000 (01:29 -0800)
committerChris Hanson <org/chris-hanson/cph>
Sun, 19 Feb 2017 09:29:04 +0000 (01:29 -0800)
src/runtime/runtime.pkg
src/runtime/string.scm
src/runtime/ustring.scm

index 0e642d2b7330a6dc162cc78a0f72853756933921..8918a406efd9a865a9eeec9828c55a2c476f29a0 100644 (file)
@@ -1041,7 +1041,6 @@ USA.
          vector-8b-set!)
   (export ()
          camel-case-string->lisp
-         char->string
          guarantee-substring
          guarantee-substring-end-index
          guarantee-substring-start-index
@@ -1090,6 +1089,7 @@ USA.
          (substring-move-left! substring-move!)
          (substring-move-right! substring-move!)
          burst-string
+         char->string
          decorated-string-append
          string-find-next-char
          string-find-next-char-ci
index d5f027c5cc8a6c2ddf5bfd0b4b3bb05ac419e004..b9a201a8793a5fd01f0dd6ba2c3188b0dac149f7 100644 (file)
@@ -88,10 +88,6 @@ USA.
 (define %words->octets-shift
   (- %octets->words-shift))
 
-(define (char->string char)
-  (guarantee 8-bit-char? char 'CHAR->STRING)
-  (make-string 1 char))
-
 (define (reverse-string string)
   (guarantee-string string 'REVERSE-STRING)
   (%reverse-substring string 0 (string-length string)))
index 1068d7563e43e9daedf91982570409805e63b1cb..65fc820454bcc99ce20b6251375597618e41cc66 100644 (file)
@@ -558,13 +558,7 @@ USA.
 
 (define (->string object caller)
   (cond ((not object) "")
-       ((bitless-char? object)
-        (let ((s
-               (if (char-8-bit? object)
-                   (legacy-string-allocate 1)
-                   (full-string-allocate 1))))
-          (string-set! s 0 object)
-          s))
+       ((bitless-char? object) (char->string object))
        ((string? object) object)
        ((symbol? object) (symbol->string object))
        ((pathname? object) (->namestring object))
@@ -904,4 +898,13 @@ USA.
   (string-upper-case? (string-slice string start end)))
 
 (define (string-null? string)
-  (fix:= 0 (string-length string)))
\ No newline at end of file
+  (fix:= 0 (string-length string)))
+
+(define (char->string char)
+  (guarantee bitless-char? char 'char->string)
+  (let ((s
+        (if (char-8-bit? char)
+            (legacy-string-allocate 1)
+            (full-string-allocate 1))))
+    (string-set! s 0 char)
+    s))
\ No newline at end of file