-xmltest/not-wf/sa/170.xml [not validating:] FAILED:

-  well-formedness violation not detected
-[
-    Four byte UTF-8 encodings can encode UCS-4 characters
-    which are beyond the range of legal XML characters
-    (and can't be expressed in Unicode surrogate pairs).
-    This document holds such a character.  ]
This commit is contained in:
dlichteblau
2005-11-27 17:34:23 +00:00
parent e9d44718e1
commit d6febc9405

View File

@ -160,8 +160,10 @@
`((lambda (x) `((lambda (x)
(when (or (<= #xD800 x #xDBFF) (when (or (<= #xD800 x #xDBFF)
(<= #xDC00 x #xDFFF)) (<= #xDC00 x #xDFFF))
(xerror "surrogate encoded in UTF-8: #x~x." x)) (xerror "surrogate encoded in UTF-8: #x~X." x))
(cond ((%> x #xFFFF) (cond ((%> x #x10FFFF)
(xerror "not a valid code point: #x~X" x))
((%> x #xFFFF)
(setf (aref out (%+ 0 wptr)) (%+ #xD7C0 (ash x -10)) (setf (aref out (%+ 0 wptr)) (%+ #xD7C0 (ash x -10))
(aref out (%+ 1 wptr)) (%ior #xDC00 (%and x #x3FF))) (aref out (%+ 1 wptr)) (%ior #xDC00 (%and x #x3FF)))
(setf wptr (%+ wptr 2))) (setf wptr (%+ wptr 2)))