fixed the push mode when a big comment occurs before an internal subset,

* parser.c: fixed the push mode when a big comment occurs before
  an internal subset, should close bug #438835
* test/comment6.xml result//comment6.xml*: added a special
  test in the regression suite
Daniel

svn path=/trunk/; revision=3635
diff --git a/result/comment6.xml b/result/comment6.xml
new file mode 100644
index 0000000..3e6074e
--- /dev/null
+++ b/result/comment6.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!--
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+-->
+<!DOCTYPE a [
+<!ELEMENT a EMPTY>
+]>
+<a/>
diff --git a/result/comment6.xml.rde b/result/comment6.xml.rde
new file mode 100644
index 0000000..e877c3e
--- /dev/null
+++ b/result/comment6.xml.rde
@@ -0,0 +1,11 @@
+0 8 #comment 0 1 
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+
+0 10 a 0 0
+0 1 a 1 0
diff --git a/result/comment6.xml.rdr b/result/comment6.xml.rdr
new file mode 100644
index 0000000..e877c3e
--- /dev/null
+++ b/result/comment6.xml.rdr
@@ -0,0 +1,11 @@
+0 8 #comment 0 1 
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+
+0 10 a 0 0
+0 1 a 1 0
diff --git a/result/comment6.xml.sax b/result/comment6.xml.sax
new file mode 100644
index 0000000..53fea21
--- /dev/null
+++ b/result/comment6.xml.sax
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment(
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+)
+SAX.internalSubset(a, , )
+SAX.elementDecl(a, 1, ...)
+SAX.externalSubset(a, , )
+SAX.startElement(a)
+SAX.endElement(a)
+SAX.endDocument()
diff --git a/result/comment6.xml.sax2 b/result/comment6.xml.sax2
new file mode 100644
index 0000000..7dd7dc0
--- /dev/null
+++ b/result/comment6.xml.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment(
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+)
+SAX.internalSubset(a, , )
+SAX.elementDecl(a, 1, ...)
+SAX.externalSubset(a, , )
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(a, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment6.xml b/result/noent/comment6.xml
new file mode 100644
index 0000000..3e6074e
--- /dev/null
+++ b/result/noent/comment6.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!--
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+-->
+<!DOCTYPE a [
+<!ELEMENT a EMPTY>
+]>
+<a/>