+#+allegro
(sys:defpatch "phtml" 1
"parse-html close tag closes consecutive identical open tags."
:type :system
;; Suite 330, Boston, MA 02111-1307 USA
;;
-;; $Id: phtml.cl,v 1.2 2003/06/20 02:21:23 kevin Exp $
+;; $Id: phtml.cl,v 1.3 2003/07/11 18:02:41 kevin Exp $
;; phtml.cl - parse html
;
(defpackage net.html.parser
- (:use :lisp :clos :excl)
+ (:use :cl #+allegro :clos :excl #+allegro :mp #-allegro :acl-mp)
(:export
#:phtml-internal
#:parse-html))
(defun get-collector ()
(declare (optimize (speed 3) (safety 1)))
(let (col)
- (mp::without-scheduling
+ (without-scheduling
(do* ((cols *collectors* (cdr cols))
(this (car cols) (car cols)))
((null cols))
(defun put-back-collector (col)
(declare (optimize (speed 3) (safety 1)))
- (mp::without-scheduling
+ (without-scheduling
(do ((cols *collectors* (cdr cols)))
((null cols)
; toss it away
(defun get-tokenbuf ()
(declare (optimize (speed 3) (safety 1)))
(let (buf)
- (mp::without-scheduling
+ (without-scheduling
(do* ((bufs *tokenbufs* (cdr bufs))
(this (car bufs) (car bufs)))
((null bufs))
(defun put-back-tokenbuf (buf)
(declare (optimize (speed 3) (safety 1)))
- (mp::without-scheduling
+ (without-scheduling
(do ((bufs *tokenbufs* (cdr bufs)))
((null bufs)
; toss it away
+#+lispworks
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (hcl:toggle-source-debugging nil)
+ (setq system:*stack-overflow-behaviour* :warn)
+ (declaim (optimize (debug 0))))
;;
;; copyright (c) 1986-2000 Franz Inc, Berkeley, CA
;;
;;
(defpackage net.xml.parser
- (:use :lisp :clos :excl :net.uri)
+ (:use :cl #+allegro :clos :excl :net.uri #+allegro :mp #-allegro :acl-mp)
(:export
#:parse-xml)
)
(loop for string in (reverse pxml-version-strings)
do (write-string string stream-or-string)
(terpri stream-or-string))))
-
+ #+excl
(push 'pxml-dribble-bug-hook excl:*dribble-bug-hooks*)))
-(funcall 'pxml-dribble-bug-hook "$Id: pxml0.cl,v 1.4 2003/06/20 02:21:23 kevin Exp $")
+(funcall 'pxml-dribble-bug-hook "$Id: pxml0.cl,v 1.5 2003/07/11 18:02:41 kevin Exp $")
(defun xml-char-p (char)
(declare (optimize (speed 3) (safety 1)))
(in-package :net.xml.parser)
-(pxml-dribble-bug-hook "$Id: pxml1.cl,v 1.3 2003/06/20 02:21:23 kevin Exp $")
+(pxml-dribble-bug-hook "$Id: pxml1.cl,v 1.4 2003/07/11 18:02:41 kevin Exp $")
(defparameter *collectors* (list nil nil nil nil nil nil nil nil))
(defun put-back-collector (col)
(declare (optimize (speed 3) (safety 1)))
- (mp::without-scheduling
+ (without-scheduling
(do ((cols *collectors* (cdr cols)))
((null cols)
; toss it away
(defun get-tokenbuf ()
(declare (optimize (speed 3) (safety 1)))
(let (buf)
- (mp::without-scheduling
+ (without-scheduling
(do* ((bufs *tokenbufs* (cdr bufs))
(this (car bufs) (car bufs)))
((null bufs))
(defun put-back-tokenbuf (buf)
(declare (optimize (speed 3) (safety 1)))
- (mp::without-scheduling
+ (without-scheduling
(do ((bufs *tokenbufs* (cdr bufs)))
((null bufs)
; toss it away
(defun get-collector ()
(declare (optimize (speed 3) (safety 1)))
(let (col)
- (mp::without-scheduling
+ (without-scheduling
(do* ((cols *collectors* (cdr cols))
(this (car cols) (car cols)))
((null cols))
(if* (and from-stream (eq tmp-char #\return)) then #\newline else tmp-char)))
(defun unicode-check (p tokenbuf)
+ #-allegro (return-from unicode-check t)
+ #+allegro
(declare (ignorable tokenbuf) (optimize (speed 3) (safety 1)))
;; need no-OO check because external format support isn't completely done yet
+ #+allegro
(when (not (typep p 'string-input-simple-stream))
- #+(version>= 6 0 pre-final 1)
+ #+allegro
(let ((format (ignore-errors (excl:sniff-for-unicode p))))
(if* (eq format (find-external-format :unicode))
then
(setf (stream-external-format p) format)
else
(setf (stream-external-format p) (find-external-format :utf8))))
- #-(version>= 6 0 pre-final 1)
+ #-allegro
(let* ((c (read-char p nil)) c2
(c-code (if c (char-code c) nil)))
(if* (eq #xFF c-code) then
(if* (eq #xFE c-code) then
(format t "set unicode~%")
(setf (stream-external-format p)
- (find-external-format #+(version>= 6 0 pre-final 1) :unicode
- #-(version>= 6 0 pre-final 1) :fat-little))
+ (find-external-format
+ #+allegro :unicode
+ #-allegro :fat-little))
else
(xml-error "stream has incomplete Unicode marker"))
else (setf (stream-external-format p)
;; if we have a stream we're reading from set its external-format
;; to the encoding
;; note - tokenbuf is really an iostruct, not a tokenbuf
+ #+allegro
(if* (tokenbuf-stream (iostruct-tokenbuf tokenbuf))
then (setf (stream-external-format
(tokenbuf-stream (iostruct-tokenbuf tokenbuf)))
(in-package :net.xml.parser)
-(pxml-dribble-bug-hook "$Id: pxml3.cl,v 1.2 2003/06/20 02:21:23 kevin Exp $")
+(pxml-dribble-bug-hook "$Id: pxml3.cl,v 1.3 2003/07/11 18:02:41 kevin Exp $")
(defvar *debug-dtd* nil)
(defun next-dtd-token (tokenbuf
external include-count external-callback)
- (declare (:fbound parse-default-value) (optimize (speed 3) (safety 1)))
+ (declare #+allegro (:fbound parse-default-value)
+ #+lispworks (optimize (safety 0) (debug 3))
+ #-lispworks (optimize (speed 3) (safety 1)))
(macrolet ((add-to-entity-buf (entity-symbol p-value)
`(progn
(push (make-tokenbuf :cur 0 :max (length ,p-value) :data ,p-value)
))
(defun external-param-reference (tokenbuf old-coll external-callback)
- (declare (:fbound next-token) (ignorable old-coll) (optimize (speed 3) (safety 1)))
+ (declare #+allegro (:fbound next-token)
+ #+lispworks (optimize (safety 0) (debug 3))
+ (ignorable old-coll)
+ #-lispworks (optimize (speed 3) (safety 1)))
(setf (iostruct-seen-parameter-reference tokenbuf) t)
(macrolet ((add-to-entity-buf (entity-symbol p-value)
`(progn