WIDE-STRING->STRING should signal an error if a character in the
authorChris Hanson <org/chris-hanson/cph>
Wed, 13 Oct 2004 04:49:53 +0000 (04:49 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 13 Oct 2004 04:49:53 +0000 (04:49 +0000)
source doesn't satisfy CHAR-ASCII?.

v7/src/runtime/unicode.scm

index 91c022a5d719a6c0c80a90e7d53fb760dae7bd2c..b1f31791bd7d769d332cb2e40a96198432a55e0a 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: unicode.scm,v 1.18 2004/05/27 14:03:06 cph Exp $
+$Id: unicode.scm,v 1.19 2004/10/13 04:49:53 cph Exp $
 
 Copyright 2001,2003,2004 Massachusetts Institute of Technology
 
@@ -661,7 +661,9 @@ USA.
     (do ((i start (fix:+ i 1))
         (j 0 (fix:+ j 1)))
        ((not (fix:< i end)))
-      (string-set! s j (vector-ref v i)))
+      (if (fix:< (char->integer (vector-ref v i)) #x100)
+         (string-set! s j (vector-ref v i))
+         (error:bad-range-argument string 'WIDE-STRING->STRING)))
     s))
 \f
 ;;;; UTF-32 representation