Implement UTF8-STRING->PARSER-BUFFER.
authorChris Hanson <org/chris-hanson/cph>
Wed, 17 Jan 2007 02:48:57 +0000 (02:48 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 17 Jan 2007 02:48:57 +0000 (02:48 +0000)
v7/src/runtime/parser-buffer.scm
v7/src/runtime/runtime.pkg

index be74158d76bac9e314956381eb0581ab50bdb990..4842c24b83e1b31c48caa1868bdca15e5b95f90e 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: parser-buffer.scm,v 1.18 2007/01/05 21:19:28 cph Exp $
+$Id: parser-buffer.scm,v 1.19 2007/01/17 02:48:51 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -73,6 +73,10 @@ USA.
                                                     'STRING->PARSER-BUFFER))))
          (make-parser-buffer string start end 0 0 #f #t 0)))))
 
+(define (utf8-string->parser-buffer string #!optional start end)
+  (let ((ws (utf8-string->wide-string string start end)))
+    (make-parser-buffer ws 0 (%wide-string-length ws) 0 0 #f #t 0)))
+
 (define (input-port->parser-buffer port)
   (guarantee-input-port port 'INPUT-PORT->PARSER-BUFFER)
   (make-parser-buffer (make-wide-string min-length) 0 0 0 0 port #f 0))
index cf20cca21a77b8c16f48b17061221f2294914d01..253334daa197a7e2fca7ff52865bee73eea40515 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.610 2007/01/09 06:16:59 cph Exp $
+$Id: runtime.pkg,v 14.611 2007/01/17 02:48:57 cph Exp $
 
 Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
     1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
@@ -4806,7 +4806,8 @@ USA.
          peek-parser-buffer-char
          read-parser-buffer-char
          set-parser-buffer-pointer!
-         string->parser-buffer))
+         string->parser-buffer
+         utf8-string->parser-buffer))
 
 (define-package (runtime unicode)
   (files "unicode")