xmlTextConcat works with comments and PI nodes (bug #355962). fix

* tree.c: xmlTextConcat works with comments and PI nodes (bug #355962).
* parser.c: fix resulting tree corruption when using XML namespace
  with existing doc in xmlParseBalancedChunkMemoryRecover.
diff --git a/ChangeLog b/ChangeLog
index 5bfc922..ac4e535 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sat Sep 16 16:02:23 CEST 2006 Rob Richards <rrichards@ctindustries.net>
+
+	* tree.c: xmlTextConcat works with comments and PI nodes (bug #355962).
+	* parser.c: fix resulting tree corruption when using XML namespace 
+	  with existing doc in xmlParseBalancedChunkMemoryRecover.
+
 Fri Sep  1 11:52:55 CEST 2006 Daniel Veillard <daniel@veillard.com>
 
 	* xmlIO.c: another patch from Emelyanov Alexey to clean up a few things
diff --git a/parser.c b/parser.c
index ceb91d2..e30427c 100644
--- a/parser.c
+++ b/parser.c
@@ -11903,6 +11903,9 @@
     } else {
 	ctxt->myDoc = newDoc;
 	newDoc->children->doc = doc;
+	/* Ensure that doc has XML spec namespace */
+	xmlSearchNsByHref(doc, (xmlNodePtr)doc, XML_XML_NAMESPACE);
+	newDoc->oldNs = doc->oldNs;
     }
     ctxt->instate = XML_PARSER_CONTENT;
     ctxt->depth = depth;
@@ -11963,6 +11966,7 @@
     xmlFreeParserCtxt(ctxt);
     newDoc->intSubset = NULL;
     newDoc->extSubset = NULL;
+    newDoc->oldNs = NULL;
     xmlFreeDoc(newDoc);
     
     return(ret);
diff --git a/tree.c b/tree.c
index 26e5abd..07a555a 100644
--- a/tree.c
+++ b/tree.c
@@ -6529,7 +6529,9 @@
     if (node == NULL) return(-1);
 
     if ((node->type != XML_TEXT_NODE) &&
-        (node->type != XML_CDATA_SECTION_NODE)) {
+        (node->type != XML_CDATA_SECTION_NODE) &&
+	(node->type != XML_COMMENT_NODE) &&
+	(node->type != XML_PI_NODE)) {
 #ifdef DEBUG_TREE
 	xmlGenericError(xmlGenericErrorContext,
 		"xmlTextConcat: node is not text nor CDATA\n");