Do a bit of bufferization in text mode, Daniel
diff --git a/ChangeLog b/ChangeLog
index bfbac89..1fa598d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Feb  3 16:36:39 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
+
+	* parser.c HTMLparser.c: do a bit of bufferization in push mode.
+
 Thu Feb  3 15:59:37 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
 
 	* nanoftp.c nanohttp.c tree.c HTMLtree.[ch] debugXML.c xpath.c: Fixed
diff --git a/HTMLparser.c b/HTMLparser.c
index a1fdac5..080b9ed 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -3527,7 +3527,8 @@
 	fprintf(stderr, "HPP: pushed %d\n", size);
 #endif
 
-        htmlParseTryOrFinish(ctxt, terminate);
+	if ((terminate) || (ctxt->input->buf->buffer->use > 80))
+	    htmlParseTryOrFinish(ctxt, terminate);
     } else if (ctxt->instate != XML_PARSER_EOF)
         htmlParseTryOrFinish(ctxt, terminate);
     if (terminate) {
diff --git a/parser.c b/parser.c
index a918cd9..015640c 100644
--- a/parser.c
+++ b/parser.c
@@ -7755,7 +7755,8 @@
 	fprintf(stderr, "PP: pushed %d\n", size);
 #endif
 
-        xmlParseTryOrFinish(ctxt, terminate);
+	if ((terminate) || (ctxt->input->buf->buffer->use > 80))
+	    xmlParseTryOrFinish(ctxt, terminate);
     } else if (ctxt->instate != XML_PARSER_EOF)
         xmlParseTryOrFinish(ctxt, terminate);
     if (terminate) {