klacks:get-attribute; dribbling source fix; FAQ

This commit is contained in:
dlichteblau
2007-05-01 18:21:40 +00:00
parent b8ba07a919
commit dd833309bf
8 changed files with 258 additions and 22 deletions

View File

@ -26,7 +26,8 @@
(defclass klacks:tapping-source (klacks:source)
((upstream-source :initarg :upstream-source :accessor upstream-source)
(dribble-handler :initarg :dribble-handler :accessor dribble-handler)
(seen-event-p :initform nil :accessor seen-event-p)))
(seen-event-p :initform nil :accessor seen-event-p)
(document-done-p :initform nil :accessor document-done-p)))
(defmethod initialize-instance :after ((instance klacks:tapping-source) &key)
(let ((s-p (make-instance 'klacksax :source (upstream-source instance))))
@ -36,7 +37,9 @@
;;; event dribbling
(defun maybe-dribble (source)
(unless (seen-event-p source)
(unless (or (seen-event-p source) (document-done-p source))
(when (eq (klacks:peek (upstream-source source)) :end-document)
(setf (document-done-p source) t))
(klacks:serialize-event (upstream-source source)
(dribble-handler source)
:consume nil)