fixed compilation when configured --without-sax1 and other cleanups fixes

* SAX2.c globals.c runtest.c testC14N.c testapi.c tree.c
  include/libxml/SAX2.h include/libxml/xmlregexp.h: fixed compilation
  when configured --without-sax1 and other cleanups fixes bug #172683
* doc/* elfgcchack.h: regenerated
Daniel
diff --git a/ChangeLog b/ChangeLog
index 9ee02d1..33bb2a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Aug 24 00:11:16 CEST 2005 Daniel Veillard <daniel@veillard.com>
+
+	* SAX2.c globals.c runtest.c testC14N.c testapi.c tree.c
+	  include/libxml/SAX2.h include/libxml/xmlregexp.h: fixed compilation
+	  when configured --without-sax1 and other cleanups fixes bug #172683
+	* doc/* elfgcchack.h: regenerated
+
 Tue Aug 23 20:05:05 CEST 2005 Daniel Veillard <daniel@veillard.com>
 
 	* parser.c: fixed bug #170489 reported by Jirka Kosek
diff --git a/SAX2.c b/SAX2.c
index c8b6244..d9f9a07 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -1022,7 +1022,7 @@
     }
 }
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
 /**
  * xmlSAX2AttributeInternal:
  * @ctx: the user data (XML parser context)
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index 0c5df7d..ddf1744 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -32,6 +32,7 @@
 <a href="html/libxml-HTMLparser.html#HTML_PARSE_NONET">HTML_PARSE_NONET</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a><br />
+<a href="html/libxml-HTMLparser.html#HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_REQUIRED">HTML_REQUIRED</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a><br />
 <a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index 57a3c7f..2091591 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -30,6 +30,7 @@
 <a href="html/libxml-HTMLparser.html#HTML_PARSE_NONET">HTML_PARSE_NONET</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a><br />
+<a href="html/libxml-HTMLparser.html#HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a><br />
 <a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
 <a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_REQUIRED">HTML_REQUIRED</a><br />
diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html
index bc3ea48..161540a 100644
--- a/doc/html/libxml-HTMLparser.html
+++ b/doc/html/libxml-HTMLparser.html
@@ -86,6 +86,7 @@
     const char *	name	: The entity name
     const char *	desc	: the description
 }</pre><h3>Enum <a name="htmlParserOption" id="htmlParserOption">htmlParserOption</a></h3><pre class="programlisting">Enum htmlParserOption {
+    <a name="HTML_PARSE_RECOVER" id="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 : Relaxed parsing
     <a name="HTML_PARSE_NOERROR" id="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 : suppress error reports
     <a name="HTML_PARSE_NOWARNING" id="HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> = 64 : suppress warning reports
     <a name="HTML_PARSE_PEDANTIC" id="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 : pedantic error reporting
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index f28ca71..27947b9 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -40,6 +40,7 @@
      <exports symbol='HTML_PARSE_NOERROR' type='enum'/>
      <exports symbol='HTML_DEPRECATED' type='enum'/>
      <exports symbol='HTML_PARSE_PEDANTIC' type='enum'/>
+     <exports symbol='HTML_PARSE_RECOVER' type='enum'/>
      <exports symbol='HTML_PARSE_NOWARNING' type='enum'/>
      <exports symbol='htmlParserNodeInfo' type='typedef'/>
      <exports symbol='htmlParserInput' type='typedef'/>
@@ -4440,6 +4441,7 @@
     <enum name='HTML_PARSE_NONET' file='HTMLparser' value='2048' type='htmlParserOption' info=' Forbid network access'/>
     <enum name='HTML_PARSE_NOWARNING' file='HTMLparser' value='64' type='htmlParserOption' info='suppress warning reports'/>
     <enum name='HTML_PARSE_PEDANTIC' file='HTMLparser' value='128' type='htmlParserOption' info='pedantic error reporting'/>
+    <enum name='HTML_PARSE_RECOVER' file='HTMLparser' value='1' type='htmlParserOption' info='Relaxed parsing'/>
     <enum name='HTML_REQUIRED' file='HTMLparser' value='12' type='htmlStatus' info=' VALID bit set so ( &amp; HTML_VALID ) is TRUE'/>
     <enum name='HTML_VALID' file='HTMLparser' value='4' type='htmlStatus'/>
     <enum name='XLINK_ACTUATE_AUTO' file='xlink' value='1' type='xlinkActuate'/>
@@ -12651,7 +12653,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='xmlSAX2EndElement' file='SAX2' module='SAX2'>
-      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)</cond>
+      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)</cond>
       <info>called when the end of an element has been detected.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
@@ -12803,7 +12805,7 @@
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
     </function>
     <function name='xmlSAX2StartElement' file='SAX2' module='SAX2'>
-      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)</cond>
+      <cond>defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)</cond>
       <info>called when an opening tag has been processed.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 4628f7b..1d9a86f 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -24,6 +24,7 @@
     <reference name='HTML_PARSE_NONET' href='html/libxml-HTMLparser.html#HTML_PARSE_NONET'/>
     <reference name='HTML_PARSE_NOWARNING' href='html/libxml-HTMLparser.html#HTML_PARSE_NOWARNING'/>
     <reference name='HTML_PARSE_PEDANTIC' href='html/libxml-HTMLparser.html#HTML_PARSE_PEDANTIC'/>
+    <reference name='HTML_PARSE_RECOVER' href='html/libxml-HTMLparser.html#HTML_PARSE_RECOVER'/>
     <reference name='HTML_PI_NODE' href='html/libxml-HTMLtree.html#HTML_PI_NODE'/>
     <reference name='HTML_PRESERVE_NODE' href='html/libxml-HTMLtree.html#HTML_PRESERVE_NODE'/>
     <reference name='HTML_REQUIRED' href='html/libxml-HTMLparser.html#HTML_REQUIRED'/>
@@ -3440,6 +3441,7 @@
       <ref name='HTML_PARSE_NONET'/>
       <ref name='HTML_PARSE_NOWARNING'/>
       <ref name='HTML_PARSE_PEDANTIC'/>
+      <ref name='HTML_PARSE_RECOVER'/>
       <ref name='HTML_PI_NODE'/>
       <ref name='HTML_PRESERVE_NODE'/>
       <ref name='HTML_REQUIRED'/>
@@ -10308,6 +10310,7 @@
       <ref name='HTML_PARSE_NONET'/>
       <ref name='HTML_PARSE_NOWARNING'/>
       <ref name='HTML_PARSE_PEDANTIC'/>
+      <ref name='HTML_PARSE_RECOVER'/>
       <ref name='HTML_REQUIRED'/>
       <ref name='HTML_VALID'/>
       <ref name='UTF8ToHtml'/>
diff --git a/elfgcchack.h b/elfgcchack.h
index 3af65aa..ca69dbf 100644
--- a/elfgcchack.h
+++ b/elfgcchack.h
@@ -8591,7 +8591,7 @@
 #endif
 #endif
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
 #ifdef bottom_SAX2
 #undef xmlSAX2EndElement
 extern __typeof (xmlSAX2EndElement) xmlSAX2EndElement __attribute((alias("xmlSAX2EndElement__internal_alias")));
@@ -8837,7 +8837,7 @@
 #endif
 #endif
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
 #ifdef bottom_SAX2
 #undef xmlSAX2StartElement
 extern __typeof (xmlSAX2StartElement) xmlSAX2StartElement __attribute((alias("xmlSAX2StartElement__internal_alias")));
diff --git a/globals.c b/globals.c
index 38bf0f0..c104a1a 100644
--- a/globals.c
+++ b/globals.c
@@ -496,7 +496,7 @@
 
     xmlMutexLock(xmlThrDefMutex);
 
-#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED)
+#if defined(LIBXML_DOCB_ENABLED) && defined(LIBXML_LEGACY_ENABLED) && defined(LIBXML_SAX1_ENABLED)
     initdocbDefaultSAXHandler(&gs->docbDefaultSAXHandler);
 #endif
 #if defined(LIBXML_HTML_ENABLED) && defined(LIBXML_LEGACY_ENABLED)
diff --git a/include/libxml/SAX2.h b/include/libxml/SAX2.h
index 6626564..8d2db02 100644
--- a/include/libxml/SAX2.h
+++ b/include/libxml/SAX2.h
@@ -98,7 +98,7 @@
 		xmlSAX2StartDocument		(void *ctx);
 XMLPUBFUN void XMLCALL		
 		xmlSAX2EndDocument		(void *ctx);
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
 XMLPUBFUN void XMLCALL		
 		xmlSAX2StartElement		(void *ctx,
 						 const xmlChar *fullname,
diff --git a/include/libxml/xmlregexp.h b/include/libxml/xmlregexp.h
index 63ae1a0..a257bb4 100644
--- a/include/libxml/xmlregexp.h
+++ b/include/libxml/xmlregexp.h
@@ -197,7 +197,7 @@
 					 int len);
 XMLPUBFUN xmlExpNodePtr XMLCALL
 			xmlExpExpDerive	(xmlExpCtxtPtr ctxt,
-					 xmlExpNodePtr exp,
+					 xmlExpNodePtr expr,
 					 xmlExpNodePtr sub);
 XMLPUBFUN int XMLCALL
 			xmlExpSubsume	(xmlExpCtxtPtr ctxt,
@@ -205,7 +205,7 @@
 					 xmlExpNodePtr sub);
 XMLPUBFUN void XMLCALL
 			xmlExpDump	(xmlBufferPtr buf,
-					 xmlExpNodePtr exp);
+					 xmlExpNodePtr expr);
 #endif /* LIBXML_EXPR_ENABLED */
 #ifdef __cplusplus
 }
diff --git a/runtest.c b/runtest.c
index b5ac973..d03322d 100644
--- a/runtest.c
+++ b/runtest.c
@@ -3529,7 +3529,7 @@
     xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
     xmlSubstituteEntitiesDefault(1);
 
-    doc = xmlParseFile(filename);
+    doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
     if (doc == NULL) {
 	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
 	return(NULL);
@@ -3681,7 +3681,7 @@
     xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
     xmlSubstituteEntitiesDefault(1);
 
-    doc = xmlParseFile(xml_filename);
+    doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
     if (doc == NULL) {
 	fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename);
 	return(-1);
@@ -3816,7 +3816,7 @@
     return(c14nCommonTest(filename, 0, 1, "exc-without-comments"));
 }
 #endif
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
+#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined (LIBXML_SAX1_ENABLED)
 /************************************************************************
  *									*
  *			Catalog and threads test			*
@@ -4245,7 +4245,7 @@
       c14nExcWithoutCommentTest, "./test/c14n/exc-without-comments/*.xml", NULL, NULL, NULL,
       0 },
 #endif
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
+#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_SAX1_ENABLED)
     { "Catalog and Threads regression tests" ,
       threadsTest, NULL, NULL, NULL, NULL,
       0 },
diff --git a/testC14N.c b/testC14N.c
index 6a36a68..674fc71 100644
--- a/testC14N.c
+++ b/testC14N.c
@@ -63,7 +63,7 @@
     xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
     xmlSubstituteEntitiesDefault(1);
 
-    doc = xmlParseFile(xml_filename);
+    doc = xmlReadFile(xml_filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
     if (doc == NULL) {
 	fprintf(stderr, "Error: unable to parse file \"%s\"\n", xml_filename);
 	return(-1);
@@ -237,7 +237,7 @@
     xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
     xmlSubstituteEntitiesDefault(1);
 
-    doc = xmlParseFile(filename);
+    doc = xmlReadFile(filename, NULL, XML_PARSE_DTDATTR | XML_PARSE_NOENT);
     if (doc == NULL) {
 	fprintf(stderr, "Error: unable to parse file \"%s\"\n", filename);
 	return(NULL);
diff --git a/testapi.c b/testapi.c
index 9aba017..2798825 100644
--- a/testapi.c
+++ b/testapi.c
@@ -3913,7 +3913,7 @@
 test_xmlSAX2EndElement(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
 #ifdef LIBXML_SAX1_ENABLED
     int mem_base;
     void * ctx; /* the user data (XML parser context) */
@@ -4878,7 +4878,7 @@
 test_xmlSAX2StartElement(void) {
     int test_ret = 0;
 
-#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED)
+#if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED)
 #ifdef LIBXML_SAX1_ENABLED
     int mem_base;
     void * ctx; /* the user data (XML parser context) */
diff --git a/tree.c b/tree.c
index 6bd8d4e..b3aeaf2 100644
--- a/tree.c
+++ b/tree.c
@@ -1133,8 +1133,10 @@
 	return;
     }
 #ifdef LIBXML_DEBUG_RUNTIME
+#ifdef LIBXML_DEBUG_ENABLED
     xmlDebugCheckDocument(stderr, cur);
 #endif
+#endif
 
     if (cur != NULL) dict = cur->dict;