[cxml-cvs] CVS update: cxml/xml/xml-parse.lisp
David Lichteblau
dlichteblau at common-lisp.net
Sun Nov 27 12:43:30 UTC 2005
Update of /project/cxml/cvsroot/cxml/xml
In directory common-lisp.net:/tmp/cvs-serv15203/xml
Modified Files:
xml-parse.lisp
Log Message:
noch ein paar assertions durch check-rune ersetzt
Date: Sun Nov 27 13:43:29 2005
Author: dlichteblau
Index: cxml/xml/xml-parse.lisp
diff -u cxml/xml/xml-parse.lisp:1.26 cxml/xml/xml-parse.lisp:1.27
--- cxml/xml/xml-parse.lisp:1.26 Sun Nov 27 13:39:36 2005
+++ cxml/xml/xml-parse.lisp Sun Nov 27 13:43:29 2005
@@ -1219,10 +1219,17 @@
(unread-rune c input)
(values :CDATA (read-cdata input)))))))))))
+(definline check-rune (input actual expected)
+ (declare (ignore input))
+ (unless (eql actual expected)
+ (wf-error "expected #/~A but found #/~A"
+ (rune-char expected)
+ (rune-char actual))))
+
(defun read-pe-reference (zinput)
(let* ((input (car (zstream-input-stack zinput)))
(nam (read-name-token input)))
- (assert (rune= #/\; (read-rune input)))
+ (check-rune input #/\; (read-rune input))
(cond (*expand-pe-p*
;; no external entities here!
(let ((i2 (entity->xstream nam :parameter)))
@@ -1346,7 +1353,7 @@
(values kind (cons name atts)))
((eq (peek-rune input) #//)
(consume-rune input)
- (assert (rune= #/> (read-rune input)))
+ (check-rune input #/> (read-rune input))
(values :ztag (cons name atts)))
(t
(wf-error "syntax error in read-tag-2.")) )))
@@ -1427,7 +1434,7 @@
(wf-error "Expecting name after &."))
(let ((name (read-name-token input)))
(setf c (read-rune input))
- (assert (rune= c #/\;))
+ (check-rune input c #/\;)
(ecase mode
(:ATT
(recurse-on-entity
@@ -1449,7 +1456,7 @@
(wf-error "Expecting name after %."))
(let ((name (read-name-token input)))
(setf c (read-rune input))
- (assert (rune= c #/\;))
+ (check-rune input c #/\;)
(cond (*expand-pe-p*
(recurse-on-entity
zinput name :parameter
@@ -1473,16 +1480,10 @@
(declare (dynamic-extent #'muffle))
(muffle input (or delim
(let ((delim (read-rune input)))
- (assert (member delim '(#/\" #/\')))
+ (unless (member delim '(#/\" #/\'))
+ (wf-error "invalid attribute delimiter"))
delim))))))
-(defun check-rune (input actual expected)
- (declare (ignore input))
- (unless (eql actual expected)
- (wf-error "expected #/~A but found #/~A"
- (rune-char expected)
- (rune-char actual))))
-
(defun read-character-reference (input)
;; xxx eof handling
;; The #/& is already read
@@ -3217,7 +3218,7 @@
(wf-error "Expecting name after &."))
(let ((name (read-name-token input)))
(setf c (read-rune input))
- (assert (rune= c #/\;))
+ (check-rune input c #/\;)
(recurse-on-entity
zinput name :general
(lambda (zinput)
More information about the Cxml-cvs
mailing list