enhanced macros to avoid breaking ABI from previous versions. modified to

* genChRanges.py, chvalid.c, include/libxml/chvalid.h,
  include/libxml/parserInternals.h: enhanced macros to avoid
  breaking ABI from previous versions.
* catalog.c, parser.c, tree.c: modified to use IS_* macros
  defined in parserInternals.h.  Makes maintenance much easier.
* testHTML.c, testSAX.c, python/libxml.c: minor fixes to avoid
  compilation warnings
* configuration.in: fixed pushHTML test error; enhanced for
  better devel (me) testing
diff --git a/include/libxml/chvalid.h b/include/libxml/chvalid.h
index e9e5c67..79362ab 100644
--- a/include/libxml/chvalid.h
+++ b/include/libxml/chvalid.h
@@ -5,7 +5,7 @@
  * This file is automatically generated from the cvs source
  * definition files using the genChRanges.py Python script
  *
- * Generation date: Sun Oct 12 18:17:45 2003
+ * Generation date: Sat Oct 18 09:01:24 2003
  * Sources: chvalid.def
  * William Brack <wbrack@mmm.com.hk>
  */
@@ -13,6 +13,8 @@
 #ifndef __XML_CHVALID_H__
 #define __XML_CHVALID_H__
 
+#include <libxml/xmlversion.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -45,63 +47,80 @@
 };
 
 /* Range checking routine */
-int xmlCharInRange(unsigned int val, const xmlChRangeGroupPtr group);
+XMLPUBFUN int XMLCALL
+		xmlCharInRange(unsigned int val, const xmlChRangeGroupPtr group);
 
 #define xmlIsBaseChar_ch(c)	(((0x41 <= (c)) && ((c) <= 0x5a)) || \
 				 ((0x61 <= (c)) && ((c) <= 0x7a)) || \
 				 ((0xc0 <= (c)) && ((c) <= 0xd6)) || \
 				 ((0xd8 <= (c)) && ((c) <= 0xf6)) || \
 				 ((0xf8 <= (c)) && ((c) <= 0xff)))
-#define xmlIsBaseChar(c)	(((c) < 0x100) ? \
+#define xmlIsBaseCharQ(c)	(((c) < 0x100) ? \
 				 xmlIsBaseChar_ch((c)) : \
 				 xmlCharInRange((c), &xmlIsBaseCharGroup))
 
-extern xmlChRangeGroup xmlIsBaseCharGroup;
+XMLPUBVAR xmlChRangeGroup xmlIsBaseCharGroup;
 #define xmlIsBlank_ch(c)	(((c) == 0x20) || \
 				 ((0x9 <= (c)) && ((c) <= 0xa)) || \
 				 ((c) == 0xd))
-#define xmlIsBlank(c)		(((c) < 0x100) ? \
+#define xmlIsBlankQ(c)		(((c) < 0x100) ? \
 				 xmlIsBlank_ch((c)) : 0)
 
 #define xmlIsChar_ch(c)		(((0x9 <= (c)) && ((c) <= 0xa)) || \
 				 ((c) == 0xd) || \
 				 ((0x20 <= (c)) && ((c) <= 0xff)))
-#define xmlIsChar(c)		(((c) < 0x100) ? \
+#define xmlIsCharQ(c)		(((c) < 0x100) ? \
 				 xmlIsChar_ch((c)) :\
 				(((0x100 <= (c)) && ((c) <= 0xd7ff)) || \
 				 ((0xe000 <= (c)) && ((c) <= 0xfffd)) || \
 				 ((0x10000 <= (c)) && ((c) <= 0x10ffff))))
 
-extern xmlChRangeGroup xmlIsCharGroup;
-#define xmlIsCombining(c)	(((c) < 0x100) ? \
+XMLPUBVAR xmlChRangeGroup xmlIsCharGroup;
+#define xmlIsCombiningQ(c)	(((c) < 0x100) ? \
 				 0 : \
 				 xmlCharInRange((c), &xmlIsCombiningGroup))
 
-extern xmlChRangeGroup xmlIsCombiningGroup;
+XMLPUBVAR xmlChRangeGroup xmlIsCombiningGroup;
 #define xmlIsDigit_ch(c)	(((0x30 <= (c)) && ((c) <= 0x39)))
-#define xmlIsDigit(c)		(((c) < 0x100) ? \
+#define xmlIsDigitQ(c)		(((c) < 0x100) ? \
 				 xmlIsDigit_ch((c)) : \
 				 xmlCharInRange((c), &xmlIsDigitGroup))
 
-extern xmlChRangeGroup xmlIsDigitGroup;
+XMLPUBVAR xmlChRangeGroup xmlIsDigitGroup;
 #define xmlIsExtender_ch(c)	(((c) == 0xb7))
-#define xmlIsExtender(c)	(((c) < 0x100) ? \
+#define xmlIsExtenderQ(c)	(((c) < 0x100) ? \
 				 xmlIsExtender_ch((c)) : \
 				 xmlCharInRange((c), &xmlIsExtenderGroup))
 
-extern xmlChRangeGroup xmlIsExtenderGroup;
-#define xmlIsIdeographic(c)	(((c) < 0x100) ? \
+XMLPUBVAR xmlChRangeGroup xmlIsExtenderGroup;
+#define xmlIsIdeographicQ(c)	(((c) < 0x100) ? \
 				 0 :\
 				(((0x4e00 <= (c)) && ((c) <= 0x9fa5)) || \
 				 ((c) == 0x3007) || \
 				 ((0x3021 <= (c)) && ((c) <= 0x3029))))
 
-extern xmlChRangeGroup xmlIsIdeographicGroup;
-extern unsigned char xmlIsPubidChar_tab[256];
+XMLPUBVAR xmlChRangeGroup xmlIsIdeographicGroup;
+XMLPUBVAR unsigned char xmlIsPubidChar_tab[256];
 #define xmlIsPubidChar_ch(c)	(xmlIsPubidChar_tab[(c)])
-#define xmlIsPubidChar(c)	(((c) < 0x100) ? \
+#define xmlIsPubidCharQ(c)	(((c) < 0x100) ? \
 				 xmlIsPubidChar_ch((c)) : 0)
 
+XMLPUBFUN int XMLCALL
+		xmlIsBaseChar(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsBlank(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsChar(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsCombining(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsDigit(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsExtender(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsIdeographic(unsigned int ch);
+XMLPUBFUN int XMLCALL
+		xmlIsPubidChar(unsigned int ch);
 
 #ifdef __cplusplus
 }