69 lines
2.8 KiB
Diff
69 lines
2.8 KiB
Diff
--- xml/xml-parse.lisp
|
|
+++ xml/xml-parse.lisp
|
|
@@ -2497,20 +2497,20 @@
|
|
(let ((input-var (gensym))
|
|
(collect (gensym))
|
|
(c (gensym)))
|
|
- `(LET ((,input-var ,input))
|
|
- (MULTIPLE-VALUE-BIND (,res ,res-start ,res-end)
|
|
- (WITH-RUNE-COLLECTOR/RAW (,collect)
|
|
- (LOOP
|
|
- (LET ((,c (PEEK-RUNE ,input-var)))
|
|
- (COND ((EQ ,c :EOF)
|
|
+ `(let ((,input-var ,input))
|
|
+ (multiple-value-bind (,res ,res-start ,res-end)
|
|
+ (with-rune-collector/raw (,collect)
|
|
+ (loop
|
|
+ (let ((,c (peek-rune ,input-var)))
|
|
+ (cond ((eq ,c :eof)
|
|
;; xxx error message
|
|
- (RETURN))
|
|
- ((FUNCALL ,predicate ,c)
|
|
- (RETURN))
|
|
+ (return))
|
|
+ ((funcall ,predicate ,c)
|
|
+ (return))
|
|
(t
|
|
(,collect ,c)
|
|
- (CONSUME-RUNE ,input-var))))))
|
|
- (LOCALLY
|
|
+ (consume-rune ,input-var))))))
|
|
+ (locally
|
|
,@body)))))
|
|
|
|
(defun read-name-token (input)
|
|
|
|
|
|
|
|
Index: xml/xml-name-rune-p.lisp
|
|
===================================================================
|
|
RCS file: /project/cxml/cvsroot/cxml/xml/xml-name-rune-p.lisp,v
|
|
retrieving revision 1.2
|
|
diff -r1.2 xml-name-rune-p.lisp
|
|
214,225c214,225
|
|
< (DEFINLINE NAME-RUNE-P (RUNE)
|
|
< (SETF RUNE (RUNE-CODE RUNE))
|
|
< (AND (<= 0 RUNE ,*max*)
|
|
< (LOCALLY (DECLARE (OPTIMIZE (SAFETY 0) (SPEED 3)))
|
|
< (= 1 (SBIT ',(predicate-to-bv #'name-rune-p)
|
|
< (THE FIXNUM RUNE))))))
|
|
< (DEFINLINE NAME-START-RUNE-P (RUNE)
|
|
< (SETF RUNE (RUNE-CODE RUNE))
|
|
< (AND (<= 0 RUNE ,*MAX*)
|
|
< (LOCALLY (DECLARE (OPTIMIZE (SAFETY 0) (SPEED 3)))
|
|
< (= 1 (SBIT ',(predicate-to-bv #'name-start-rune-p)
|
|
< (THE FIXNUM RUNE)))))))) ))))
|
|
---
|
|
> (definline name-rune-p (rune)
|
|
> (setf rune (rune-code rune))
|
|
> (and (<= 0 rune ,*max*)
|
|
> (locally (declare (optimize (safety 0) (speed 3)))
|
|
> (= 1 (sbit ',(predicate-to-bv #'name-rune-p)
|
|
> (the fixnum rune))))))
|
|
> (definline name-start-rune-p (rune)
|
|
> (setf rune (rune-code rune))
|
|
> (and (<= 0 rune ,*max*)
|
|
> (locally (declare (optimize (safety 0) (speed 3)))
|
|
> (= 1 (sbit ',(predicate-to-bv #'name-start-rune-p)
|
|
> (the fixnum rune)))))))) ))))
|