[cxml-cvs] CVS update: cxml/xml/xml-parse.lisp

David Lichteblau dlichteblau at common-lisp.net
Sun Nov 27 17:19:16 UTC 2005


Update of /project/cxml/cvsroot/cxml/xml
In directory common-lisp.net:/tmp/cvs-serv4026/xml

Modified Files:
	xml-parse.lisp 
Log Message:
encoding-fehler resignalisieren

Date: Sun Nov 27 18:19:14 2005
Author: dlichteblau

Index: cxml/xml/xml-parse.lisp
diff -u cxml/xml/xml-parse.lisp:1.34 cxml/xml/xml-parse.lisp:1.35
--- cxml/xml/xml-parse.lisp:1.34	Sun Nov 27 17:49:22 2005
+++ cxml/xml/xml-parse.lisp	Sun Nov 27 18:19:14 2005
@@ -2960,10 +2960,13 @@
                            :type type))))))
 
 (defun parse-xstream (xstream handler &rest args)
-  (let ((zstream (make-zstream :input-stack (list xstream))))
-    (peek-rune xstream)
-    (with-scratch-pads ()
-      (apply #'p/document zstream handler args))))
+  (handler-case
+      (let ((zstream (make-zstream :input-stack (list xstream))))
+	(peek-rune xstream)
+	(with-scratch-pads ()
+	  (apply #'p/document zstream handler args)))
+    (runes-encoding:encoding-error (c)
+      (wf-error "~A" c))))
 
 (defun parse-file (filename handler &rest args)
   (with-open-xfile (input filename)
@@ -3021,10 +3024,7 @@
 
 (defun parse-string (string handler)
   ;; XXX this function mis-handles encoding
-  (with-scratch-pads ()
-    (let* ((x (string->xstream string))
-           (z (make-zstream :input-stack (list x))))
-      (p/document z handler))))
+  (parse-xstream (string->xstream string) handler))
 
 (defun string->xstream (string)
   ;; XXX encoding is mis-handled by this kind of stream




More information about the Cxml-cvs mailing list