# HG changeset patch # User athomas # Date 1199817044 0 # Node ID 571226acaeff9b7c7bb475b1a1f07c3846523c1d # Parent 8a9a7a8e9478f62ca2103e13610bc2ce2de7c51a XML_DECL must be the absolute first item, so don't bother buffering whitespace. diff --git a/genshi/output.py b/genshi/output.py --- a/genshi/output.py +++ b/genshi/output.py @@ -710,25 +710,17 @@ self.doctype_event = (DOCTYPE, doctype, (None, -1, -1)) def __call__(self, stream): - buffer = [] doctype_inserted = False for kind, data, pos in stream: - # Buffer whitespace TEXT and XML_DECL if not doctype_inserted: - if kind is XML_DECL or (kind is TEXT and not data.strip()): - buffer.append((kind, data, pos)) + doctype_inserted = True + if kind is XML_DECL: + yield (kind, data, pos) + yield self.doctype_event continue - - for event in buffer: - yield event - yield self.doctype_event - doctype_inserted = True - yield (kind, data, pos) if not doctype_inserted: - for event in buffer: - yield event yield self.doctype_event