Minimal changes for XSLT node-set() extra function:
- tree.c: minor doc fix
- xpath.c: deallocation issues when a result tree has been
  converted to a node-set
Daniel
diff --git a/ChangeLog b/ChangeLog
index 3ba430d..8d564df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Feb 28 00:43:58 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+	* tree.c: minor doc fix
+	* xpath.c: deallocation issues when a result tree has been
+	  converted to a node-set
+
 Mon Feb 26 22:09:45 CET 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
 
 	* doc/xml.html: oops corrected dates s/2000/2001
diff --git a/tree.c b/tree.c
index 42acf7c..a33658e 100644
--- a/tree.c
+++ b/tree.c
@@ -3658,7 +3658,7 @@
  * xmlSearchNs:
  * @doc:  the document
  * @node:  the current node
- * @nameSpace:  the namespace string
+ * @nameSpace:  the namespace prefix
  *
  * Search a Ns registered under a given name space for a document.
  * recurse on the parents until it finds the defined namespace
diff --git a/xpath.c b/xpath.c
index ff7a89b..1bc30e6 100644
--- a/xpath.c
+++ b/xpath.c
@@ -999,6 +999,7 @@
     }
     memset(ret, 0 , (size_t) sizeof(xmlXPathObject));
     ret->type = XPATH_NODESET;
+    ret->boolval = 0;
     ret->nodesetval = xmlXPathNodeSetCreate(val);
     return(ret);
 }
@@ -1586,8 +1587,14 @@
 xmlXPathFreeObject(xmlXPathObjectPtr obj) {
     if (obj == NULL) return;
     if (obj->type == XPATH_NODESET) {
-	if (obj->nodesetval != NULL)
-	    xmlXPathFreeNodeSet(obj->nodesetval);
+	if (obj->boolval) {
+	    obj->type = XPATH_XSLT_TREE;
+	    if (obj->nodesetval != NULL)
+		xmlXPathFreeValueTree(obj->nodesetval);
+	} else {
+	    if (obj->nodesetval != NULL)
+		xmlXPathFreeNodeSet(obj->nodesetval);
+	}
 #ifdef LIBXML_XPTR_ENABLED
     } else if (obj->type == XPATH_LOCATIONSET) {
 	if (obj->user != NULL)