From 4f731703de3db65cb4478c46228651bf243348b0 Mon Sep 17 00:00:00 2001 From: dlichteblau Date: Wed, 3 Oct 2007 15:22:57 +0000 Subject: [PATCH] Minor klacks enhancements. klacks/klacks.lisp (CONSUME-CHARACTERS): New function. klacks/package.lisp (KLACKS): Export dribble-handler and consume-characters. --- klacks/klacks.lisp | 6 ++++++ klacks/package.lisp | 3 +++ 2 files changed, 9 insertions(+) diff --git a/klacks/klacks.lisp b/klacks/klacks.lisp index 0148f58..11e22b8 100644 --- a/klacks/klacks.lisp +++ b/klacks/klacks.lisp @@ -79,6 +79,12 @@ (check-type key (member :characters)) characters)) +(defun klacks:consume-characters (source) + (with-output-to-string (s) + (while (eq (klacks:peek source) :characters) + (write-string (klacks:current-characters source) s) + (klacks:consume source)))) + (defun klacks:serialize-event (source handler &key (consume t)) (multiple-value-bind (key a b c) (klacks:peek source) (let ((result nil)) diff --git a/klacks/package.lisp b/klacks/package.lisp index ad1ac8e..7fd928d 100644 --- a/klacks/package.lisp +++ b/klacks/package.lisp @@ -21,8 +21,10 @@ (:export #:source #:close-source #:with-open-source + #:tapping-source #:make-tapping-source + #:dribble-handler #:peek #:peek-value @@ -42,6 +44,7 @@ #:current-lname #:current-qname #:current-characters + #:consume-characters #:current-cdata-section-p #:map-current-namespace-declarations