make sure the OOM code don't get in the way of the builds automatic update

* Makefile.am doc/apibuild.py: make sure the OOM code don't
  get in the way of the builds
* doc/libxml2-api.xml python/libxml2class.txt: automatic update
Daniel
diff --git a/ChangeLog b/ChangeLog
index 187c801..e55f541 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Apr 24 19:11:12 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+	* Makefile.am doc/apibuild.py: make sure the OOM code don't
+	  get in the way of the builds
+	* doc/libxml2-api.xml python/libxml2class.txt: automatic update
+
 Thu Apr 24 18:01:46 CEST 2003 Daniel Veillard <daniel@veillard.com>
 
 	* Makefile.am testOOM.c testOOMlib.[ch] : integrated the Out Of
diff --git a/Makefile.am b/Makefile.am
index 7242f99..2f74951 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -116,10 +116,10 @@
 testReader_DEPENDENCIES = $(DEPS)
 testReader_LDADD= $(LDADDS)
 
-testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
-testOOM_LDFLAGS = 
-testOOM_DEPENDENCIES = $(DEPS)
-testOOM_LDADD= $(LDADDS)
+#testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
+#testOOM_LDFLAGS = 
+#testOOM_DEPENDENCIES = $(DEPS)
+#testOOM_LDADD= $(LDADDS)
 
 check-local: tests
 
diff --git a/doc/apibuild.py b/doc/apibuild.py
index 241ceae..f0308bc 100755
--- a/doc/apibuild.py
+++ b/doc/apibuild.py
@@ -11,6 +11,31 @@
 import string
 import glob
 
+#
+# C parser analysis code
+#
+ignored_files = {
+  "trio": "too many non standard macros",
+  "trio.c": "too many non standard macros",
+  "trionan.c": "too many non standard macros",
+  "triostr.c": "too many non standard macros",
+  "acconfig.h": "generated portability layer",
+  "config.h": "generated portability layer",
+  "libxml.h": "internal only",
+  "testOOM.c": "out of memory tester"
+  "testOOMlib.h": "out of memory tester"
+  "testOOMlib.c": "out of memory tester"
+}
+
+ignored_words = {
+  "WINAPI": (0, "Windows keyword"),
+  "LIBXML_DLL_IMPORT": (0, "Special macro to flag external keywords"),
+  "__declspec": (3, "Windows keyword"),
+  "ATTRIBUTE_UNUSED": (0, "macro keyword"),
+  "LIBEXSLT_PUBLIC": (0, "macro keyword"),
+  "X_IN_Y": (5, "macro function builder"),
+}
+
 def escape(raw):
     raw = string.replace(raw, '&', '&amp;')
     raw = string.replace(raw, '<', '&lt;')
@@ -208,28 +233,6 @@
 	 self.analyze_dict("typedefs", self.typedefs)
 	 self.analyze_dict("macros", self.macros)
          
-#
-# C parser analysis code
-#
-ignored_files = {
-  "trio": "too many non standard macros",
-  "trio.c": "too many non standard macros",
-  "trionan.c": "too many non standard macros",
-  "triostr.c": "too many non standard macros",
-  "acconfig.h": "generated portability layer",
-  "config.h": "generated portability layer",
-  "libxml.h": "internal only",
-}
-
-ignored_words = {
-  "WINAPI": (0, "Windows keyword"),
-  "LIBXML_DLL_IMPORT": (0, "Special macro to flag external keywords"),
-  "__declspec": (3, "Windows keyword"),
-  "ATTRIBUTE_UNUSED": (0, "macro keyword"),
-  "LIBEXSLT_PUBLIC": (0, "macro keyword"),
-  "X_IN_Y": (5, "macro function builder"),
-}
-
 class CLexer:
      """A lexer for the C language, tokenize the input by reading and
         analyzing it line by line"""
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 57823a3..f9ea8f0 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -730,8 +730,11 @@
      <exports symbol='DEBUG_MEMORY'/>
      <exports symbol='_DEBUG_MEMORY_ALLOC_'/>
      <exports symbol='xmlFreeFunc'/>
+     <exports symbol='xmlGcMemGet'/>
+     <exports symbol='xmlGcMemSetup'/>
      <exports symbol='xmlInitMemory'/>
      <exports symbol='xmlMalloc'/>
+     <exports symbol='xmlMallocAtomic'/>
      <exports symbol='xmlMallocFunc'/>
      <exports symbol='xmlMallocLoc'/>
      <exports symbol='xmlMemDisplay'/>
@@ -834,6 +837,27 @@
      <exports symbol='WITH_TRIO'/>
      <exports symbol='xmlCheckVersion'/>
     </file>
+    <file name='threads'>
+     <exports symbol='xmlCleanupThreads'/>
+     <exports symbol='xmlFreeMutex'/>
+     <exports symbol='xmlFreeRMutex'/>
+     <exports symbol='xmlGetGlobalState'/>
+     <exports symbol='xmlGetThreadId'/>
+     <exports symbol='xmlInitThreads'/>
+     <exports symbol='xmlIsMainThread'/>
+     <exports symbol='xmlLockLibrary'/>
+     <exports symbol='xmlMutex'/>
+     <exports symbol='xmlMutexLock'/>
+     <exports symbol='xmlMutexPtr'/>
+     <exports symbol='xmlMutexUnlock'/>
+     <exports symbol='xmlNewMutex'/>
+     <exports symbol='xmlNewRMutex'/>
+     <exports symbol='xmlRMutex'/>
+     <exports symbol='xmlRMutexLock'/>
+     <exports symbol='xmlRMutexPtr'/>
+     <exports symbol='xmlRMutexUnlock'/>
+     <exports symbol='xmlUnlockLibrary'/>
+    </file>
     <file name='valid'>
      <exports symbol='_xmlValidCtxt'/>
      <exports symbol='xmlAddAttributeDecl'/>
@@ -969,142 +993,15 @@
      <exports symbol='htmlStatus'/>
      <exports symbol='htmlTagLookup'/>
     </file>
-    <file name='parser'>
-     <exports symbol='XML_COMPLETE_ATTRS'/>
-     <exports symbol='XML_DEFAULT_VERSION'/>
-     <exports symbol='XML_DETECT_IDS'/>
-     <exports symbol='XML_PARSER_ATTRIBUTE_VALUE'/>
-     <exports symbol='XML_PARSER_CDATA_SECTION'/>
-     <exports symbol='XML_PARSER_COMMENT'/>
-     <exports symbol='XML_PARSER_CONTENT'/>
-     <exports symbol='XML_PARSER_DTD'/>
-     <exports symbol='XML_PARSER_END_TAG'/>
-     <exports symbol='XML_PARSER_ENTITY_DECL'/>
-     <exports symbol='XML_PARSER_ENTITY_VALUE'/>
-     <exports symbol='XML_PARSER_EOF'/>
-     <exports symbol='XML_PARSER_EPILOG'/>
-     <exports symbol='XML_PARSER_IGNORE'/>
-     <exports symbol='XML_PARSER_MISC'/>
-     <exports symbol='XML_PARSER_PI'/>
-     <exports symbol='XML_PARSER_PROLOG'/>
-     <exports symbol='XML_PARSER_PUBLIC_LITERAL'/>
-     <exports symbol='XML_PARSER_START'/>
-     <exports symbol='XML_PARSER_START_TAG'/>
-     <exports symbol='XML_PARSER_SYSTEM_LITERAL'/>
-     <exports symbol='XML_SKIP_IDS'/>
-     <exports symbol='_xmlParserCtxt'/>
-     <exports symbol='_xmlParserInput'/>
-     <exports symbol='_xmlParserNodeInfo'/>
-     <exports symbol='_xmlParserNodeInfoSeq'/>
-     <exports symbol='_xmlSAXHandler'/>
-     <exports symbol='_xmlSAXLocator'/>
-     <exports symbol='attributeDeclSAXFunc'/>
-     <exports symbol='attributeSAXFunc'/>
-     <exports symbol='cdataBlockSAXFunc'/>
-     <exports symbol='charactersSAXFunc'/>
-     <exports symbol='commentSAXFunc'/>
-     <exports symbol='elementDeclSAXFunc'/>
-     <exports symbol='endDocumentSAXFunc'/>
-     <exports symbol='endElementSAXFunc'/>
-     <exports symbol='entityDeclSAXFunc'/>
-     <exports symbol='errorSAXFunc'/>
-     <exports symbol='externalSubsetSAXFunc'/>
-     <exports symbol='fatalErrorSAXFunc'/>
-     <exports symbol='getEntitySAXFunc'/>
-     <exports symbol='getParameterEntitySAXFunc'/>
-     <exports symbol='hasExternalSubsetSAXFunc'/>
-     <exports symbol='hasInternalSubsetSAXFunc'/>
-     <exports symbol='ignorableWhitespaceSAXFunc'/>
-     <exports symbol='internalSubsetSAXFunc'/>
-     <exports symbol='isStandaloneSAXFunc'/>
-     <exports symbol='notationDeclSAXFunc'/>
-     <exports symbol='processingInstructionSAXFunc'/>
-     <exports symbol='referenceSAXFunc'/>
-     <exports symbol='resolveEntitySAXFunc'/>
-     <exports symbol='setDocumentLocatorSAXFunc'/>
-     <exports symbol='startDocumentSAXFunc'/>
-     <exports symbol='startElementSAXFunc'/>
-     <exports symbol='unparsedEntityDeclSAXFunc'/>
-     <exports symbol='warningSAXFunc'/>
-     <exports symbol='xmlCharStrdup'/>
-     <exports symbol='xmlCharStrndup'/>
-     <exports symbol='xmlCleanupParser'/>
-     <exports symbol='xmlClearNodeInfoSeq'/>
-     <exports symbol='xmlClearParserCtxt'/>
-     <exports symbol='xmlCreateDocParserCtxt'/>
-     <exports symbol='xmlCreateIOParserCtxt'/>
-     <exports symbol='xmlCreatePushParserCtxt'/>
-     <exports symbol='xmlExternalEntityLoader'/>
-     <exports symbol='xmlFreeParserCtxt'/>
-     <exports symbol='xmlGetExternalEntityLoader'/>
-     <exports symbol='xmlGetFeature'/>
-     <exports symbol='xmlGetFeaturesList'/>
-     <exports symbol='xmlGetWarningsDefaultValue'/>
-     <exports symbol='xmlIOParseDTD'/>
-     <exports symbol='xmlInitNodeInfoSeq'/>
-     <exports symbol='xmlInitParser'/>
-     <exports symbol='xmlInitParserCtxt'/>
-     <exports symbol='xmlKeepBlanksDefault'/>
-     <exports symbol='xmlLineNumbersDefault'/>
-     <exports symbol='xmlLoadExternalEntity'/>
-     <exports symbol='xmlNewIOInputStream'/>
-     <exports symbol='xmlParseBalancedChunkMemory'/>
-     <exports symbol='xmlParseBalancedChunkMemoryRecover'/>
-     <exports symbol='xmlParseChunk'/>
-     <exports symbol='xmlParseCtxtExternalEntity'/>
-     <exports symbol='xmlParseDTD'/>
-     <exports symbol='xmlParseDoc'/>
-     <exports symbol='xmlParseDocument'/>
-     <exports symbol='xmlParseEntity'/>
-     <exports symbol='xmlParseExtParsedEnt'/>
-     <exports symbol='xmlParseExternalEntity'/>
-     <exports symbol='xmlParseFile'/>
-     <exports symbol='xmlParseMemory'/>
-     <exports symbol='xmlParserAddNodeInfo'/>
-     <exports symbol='xmlParserFindNodeInfo'/>
-     <exports symbol='xmlParserFindNodeInfoIndex'/>
-     <exports symbol='xmlParserInputDeallocate'/>
-     <exports symbol='xmlParserInputGrow'/>
-     <exports symbol='xmlParserInputRead'/>
-     <exports symbol='xmlParserInputState'/>
-     <exports symbol='xmlParserNodeInfo'/>
-     <exports symbol='xmlParserNodeInfoPtr'/>
-     <exports symbol='xmlParserNodeInfoSeq'/>
-     <exports symbol='xmlParserNodeInfoSeqPtr'/>
-     <exports symbol='xmlParserVersion'/>
-     <exports symbol='xmlPedanticParserDefault'/>
-     <exports symbol='xmlRecoverDoc'/>
-     <exports symbol='xmlRecoverFile'/>
-     <exports symbol='xmlRecoverMemory'/>
-     <exports symbol='xmlSAXParseDTD'/>
-     <exports symbol='xmlSAXParseDoc'/>
-     <exports symbol='xmlSAXParseEntity'/>
-     <exports symbol='xmlSAXParseFile'/>
-     <exports symbol='xmlSAXParseFileWithData'/>
-     <exports symbol='xmlSAXParseMemory'/>
-     <exports symbol='xmlSAXParseMemoryWithData'/>
-     <exports symbol='xmlSAXUserParseFile'/>
-     <exports symbol='xmlSAXUserParseMemory'/>
-     <exports symbol='xmlSetExternalEntityLoader'/>
-     <exports symbol='xmlSetFeature'/>
-     <exports symbol='xmlSetupParserForBuffer'/>
-     <exports symbol='xmlStopParser'/>
-     <exports symbol='xmlStrEqual'/>
-     <exports symbol='xmlStrcasecmp'/>
-     <exports symbol='xmlStrcasestr'/>
-     <exports symbol='xmlStrcat'/>
-     <exports symbol='xmlStrchr'/>
-     <exports symbol='xmlStrcmp'/>
-     <exports symbol='xmlStrdup'/>
-     <exports symbol='xmlStrlen'/>
-     <exports symbol='xmlStrncasecmp'/>
-     <exports symbol='xmlStrncat'/>
-     <exports symbol='xmlStrncmp'/>
-     <exports symbol='xmlStrndup'/>
-     <exports symbol='xmlStrstr'/>
-     <exports symbol='xmlStrsub'/>
-     <exports symbol='xmlSubstituteEntitiesDefault'/>
-     <exports symbol='xmlSubstituteEntitiesDefaultValue'/>
+    <file name='testOOMlib'>
+     <exports symbol='TEST_OOM_LIB_H'/>
+     <exports symbol='TestMemoryFunction'/>
+     <exports symbol='test_free'/>
+     <exports symbol='test_get_malloc_blocks_outstanding'/>
+     <exports symbol='test_malloc'/>
+     <exports symbol='test_oom_handling'/>
+     <exports symbol='test_realloc'/>
+     <exports symbol='test_strdup'/>
     </file>
     <file name='xmlreader'>
      <exports symbol='XML_PARSER_DEFAULTATTRS'/>
@@ -1284,6 +1181,8 @@
      <exports symbol='xmlLoadExtDtdDefaultValue'/>
      <exports symbol='xmlMalloc'/>
      <exports symbol='xmlMalloc'/>
+     <exports symbol='xmlMallocAtomic'/>
+     <exports symbol='xmlMallocAtomic'/>
      <exports symbol='xmlMemStrdup'/>
      <exports symbol='xmlMemStrdup'/>
      <exports symbol='xmlParserDebugEntities'/>
@@ -1305,26 +1204,142 @@
      <exports symbol='xmlTreeIndentString'/>
      <exports symbol='xmlTreeIndentString'/>
     </file>
-    <file name='threads'>
-     <exports symbol='xmlCleanupThreads'/>
-     <exports symbol='xmlFreeMutex'/>
-     <exports symbol='xmlFreeRMutex'/>
-     <exports symbol='xmlGetGlobalState'/>
-     <exports symbol='xmlGetThreadId'/>
-     <exports symbol='xmlInitThreads'/>
-     <exports symbol='xmlIsMainThread'/>
-     <exports symbol='xmlLockLibrary'/>
-     <exports symbol='xmlMutex'/>
-     <exports symbol='xmlMutexLock'/>
-     <exports symbol='xmlMutexPtr'/>
-     <exports symbol='xmlMutexUnlock'/>
-     <exports symbol='xmlNewMutex'/>
-     <exports symbol='xmlNewRMutex'/>
-     <exports symbol='xmlRMutex'/>
-     <exports symbol='xmlRMutexLock'/>
-     <exports symbol='xmlRMutexPtr'/>
-     <exports symbol='xmlRMutexUnlock'/>
-     <exports symbol='xmlUnlockLibrary'/>
+    <file name='parser'>
+     <exports symbol='XML_COMPLETE_ATTRS'/>
+     <exports symbol='XML_DEFAULT_VERSION'/>
+     <exports symbol='XML_DETECT_IDS'/>
+     <exports symbol='XML_PARSER_ATTRIBUTE_VALUE'/>
+     <exports symbol='XML_PARSER_CDATA_SECTION'/>
+     <exports symbol='XML_PARSER_COMMENT'/>
+     <exports symbol='XML_PARSER_CONTENT'/>
+     <exports symbol='XML_PARSER_DTD'/>
+     <exports symbol='XML_PARSER_END_TAG'/>
+     <exports symbol='XML_PARSER_ENTITY_DECL'/>
+     <exports symbol='XML_PARSER_ENTITY_VALUE'/>
+     <exports symbol='XML_PARSER_EOF'/>
+     <exports symbol='XML_PARSER_EPILOG'/>
+     <exports symbol='XML_PARSER_IGNORE'/>
+     <exports symbol='XML_PARSER_MISC'/>
+     <exports symbol='XML_PARSER_PI'/>
+     <exports symbol='XML_PARSER_PROLOG'/>
+     <exports symbol='XML_PARSER_PUBLIC_LITERAL'/>
+     <exports symbol='XML_PARSER_START'/>
+     <exports symbol='XML_PARSER_START_TAG'/>
+     <exports symbol='XML_PARSER_SYSTEM_LITERAL'/>
+     <exports symbol='XML_SKIP_IDS'/>
+     <exports symbol='_xmlParserCtxt'/>
+     <exports symbol='_xmlParserInput'/>
+     <exports symbol='_xmlParserNodeInfo'/>
+     <exports symbol='_xmlParserNodeInfoSeq'/>
+     <exports symbol='_xmlSAXHandler'/>
+     <exports symbol='_xmlSAXLocator'/>
+     <exports symbol='attributeDeclSAXFunc'/>
+     <exports symbol='attributeSAXFunc'/>
+     <exports symbol='cdataBlockSAXFunc'/>
+     <exports symbol='charactersSAXFunc'/>
+     <exports symbol='commentSAXFunc'/>
+     <exports symbol='elementDeclSAXFunc'/>
+     <exports symbol='endDocumentSAXFunc'/>
+     <exports symbol='endElementSAXFunc'/>
+     <exports symbol='entityDeclSAXFunc'/>
+     <exports symbol='errorSAXFunc'/>
+     <exports symbol='externalSubsetSAXFunc'/>
+     <exports symbol='fatalErrorSAXFunc'/>
+     <exports symbol='getEntitySAXFunc'/>
+     <exports symbol='getParameterEntitySAXFunc'/>
+     <exports symbol='hasExternalSubsetSAXFunc'/>
+     <exports symbol='hasInternalSubsetSAXFunc'/>
+     <exports symbol='ignorableWhitespaceSAXFunc'/>
+     <exports symbol='internalSubsetSAXFunc'/>
+     <exports symbol='isStandaloneSAXFunc'/>
+     <exports symbol='notationDeclSAXFunc'/>
+     <exports symbol='processingInstructionSAXFunc'/>
+     <exports symbol='referenceSAXFunc'/>
+     <exports symbol='resolveEntitySAXFunc'/>
+     <exports symbol='setDocumentLocatorSAXFunc'/>
+     <exports symbol='startDocumentSAXFunc'/>
+     <exports symbol='startElementSAXFunc'/>
+     <exports symbol='unparsedEntityDeclSAXFunc'/>
+     <exports symbol='warningSAXFunc'/>
+     <exports symbol='xmlCharStrdup'/>
+     <exports symbol='xmlCharStrndup'/>
+     <exports symbol='xmlCleanupParser'/>
+     <exports symbol='xmlClearNodeInfoSeq'/>
+     <exports symbol='xmlClearParserCtxt'/>
+     <exports symbol='xmlCreateDocParserCtxt'/>
+     <exports symbol='xmlCreateIOParserCtxt'/>
+     <exports symbol='xmlCreatePushParserCtxt'/>
+     <exports symbol='xmlExternalEntityLoader'/>
+     <exports symbol='xmlFreeParserCtxt'/>
+     <exports symbol='xmlGetExternalEntityLoader'/>
+     <exports symbol='xmlGetFeature'/>
+     <exports symbol='xmlGetFeaturesList'/>
+     <exports symbol='xmlGetWarningsDefaultValue'/>
+     <exports symbol='xmlIOParseDTD'/>
+     <exports symbol='xmlInitNodeInfoSeq'/>
+     <exports symbol='xmlInitParser'/>
+     <exports symbol='xmlInitParserCtxt'/>
+     <exports symbol='xmlKeepBlanksDefault'/>
+     <exports symbol='xmlLineNumbersDefault'/>
+     <exports symbol='xmlLoadExternalEntity'/>
+     <exports symbol='xmlNewIOInputStream'/>
+     <exports symbol='xmlParseBalancedChunkMemory'/>
+     <exports symbol='xmlParseBalancedChunkMemoryRecover'/>
+     <exports symbol='xmlParseChunk'/>
+     <exports symbol='xmlParseCtxtExternalEntity'/>
+     <exports symbol='xmlParseDTD'/>
+     <exports symbol='xmlParseDoc'/>
+     <exports symbol='xmlParseDocument'/>
+     <exports symbol='xmlParseEntity'/>
+     <exports symbol='xmlParseExtParsedEnt'/>
+     <exports symbol='xmlParseExternalEntity'/>
+     <exports symbol='xmlParseFile'/>
+     <exports symbol='xmlParseMemory'/>
+     <exports symbol='xmlParserAddNodeInfo'/>
+     <exports symbol='xmlParserFindNodeInfo'/>
+     <exports symbol='xmlParserFindNodeInfoIndex'/>
+     <exports symbol='xmlParserInputDeallocate'/>
+     <exports symbol='xmlParserInputGrow'/>
+     <exports symbol='xmlParserInputRead'/>
+     <exports symbol='xmlParserInputState'/>
+     <exports symbol='xmlParserNodeInfo'/>
+     <exports symbol='xmlParserNodeInfoPtr'/>
+     <exports symbol='xmlParserNodeInfoSeq'/>
+     <exports symbol='xmlParserNodeInfoSeqPtr'/>
+     <exports symbol='xmlParserVersion'/>
+     <exports symbol='xmlPedanticParserDefault'/>
+     <exports symbol='xmlRecoverDoc'/>
+     <exports symbol='xmlRecoverFile'/>
+     <exports symbol='xmlRecoverMemory'/>
+     <exports symbol='xmlSAXParseDTD'/>
+     <exports symbol='xmlSAXParseDoc'/>
+     <exports symbol='xmlSAXParseEntity'/>
+     <exports symbol='xmlSAXParseFile'/>
+     <exports symbol='xmlSAXParseFileWithData'/>
+     <exports symbol='xmlSAXParseMemory'/>
+     <exports symbol='xmlSAXParseMemoryWithData'/>
+     <exports symbol='xmlSAXUserParseFile'/>
+     <exports symbol='xmlSAXUserParseMemory'/>
+     <exports symbol='xmlSetExternalEntityLoader'/>
+     <exports symbol='xmlSetFeature'/>
+     <exports symbol='xmlSetupParserForBuffer'/>
+     <exports symbol='xmlStopParser'/>
+     <exports symbol='xmlStrEqual'/>
+     <exports symbol='xmlStrcasecmp'/>
+     <exports symbol='xmlStrcasestr'/>
+     <exports symbol='xmlStrcat'/>
+     <exports symbol='xmlStrchr'/>
+     <exports symbol='xmlStrcmp'/>
+     <exports symbol='xmlStrdup'/>
+     <exports symbol='xmlStrlen'/>
+     <exports symbol='xmlStrncasecmp'/>
+     <exports symbol='xmlStrncat'/>
+     <exports symbol='xmlStrncmp'/>
+     <exports symbol='xmlStrndup'/>
+     <exports symbol='xmlStrstr'/>
+     <exports symbol='xmlStrsub'/>
+     <exports symbol='xmlSubstituteEntitiesDefault'/>
+     <exports symbol='xmlSubstituteEntitiesDefaultValue'/>
     </file>
     <file name='hash'>
      <exports symbol='xmlHashAddEntry'/>
@@ -2140,6 +2155,8 @@
       <info>Skips the end of line chars.</info>
       <arg name='p' info='and UTF8 string pointer'/>
     </macro>
+    <macro name='TEST_OOM_LIB_H' file='testOOMlib'>
+    </macro>
     <macro name='WITHOUT_TRIO' file='xmlversion'>
       <info>defined if the trio support should not be configured in</info>
     </macro>
@@ -2864,6 +2881,7 @@
       <field name='xmlTreeIndentString' type='const char *' info=''/>
       <field name='xmlRegisterNodeDefaultValue' type='xmlRegisterNodeFunc' info=''/>
       <field name='xmlDeregisterNodeDefaultValue' type='xmlDeregisterNodeFunc' info=''/>
+      <field name='xmlMallocAtomic' type='xmlMallocFunc' info=''/>
     </struct>
     <typedef name='xmlGlobalStatePtr' file='globals' type='xmlGlobalState *'/>
     <struct name='xmlHashTable' file='hash' type='struct _xmlHashTable'/>
@@ -2997,6 +3015,7 @@
       <field name='linenumbers' type='int' info=' set line number in element content'/>
       <field name='catalogs' type='void *' info=' document&apos;s own catalog'/>
       <field name='recovery' type='int' info=' run in recovery mode'/>
+      <field name='progressive' type='int' info=' is this a progressive parsing'/>
     </struct>
     <typedef name='xmlParserCtxtPtr' file='tree' type='xmlParserCtxt *'/>
     <typedef name='xmlParserErrors' file='xmlerror' type='enum'/>
@@ -3253,15 +3272,16 @@
     <variable name='xmlFree' file='globals' type='xmlFreeFunc'/>
     <variable name='xmlGenericError' file='globals' type='xmlGenericErrorFunc'/>
     <variable name='xmlGenericErrorContext' file='globals' type='void *'/>
-    <variable name='xmlGetWarningsDefaultValue' file='parser' type='int'/>
+    <variable name='xmlGetWarningsDefaultValue' file='globals' type='int'/>
     <variable name='xmlIndentTreeOutput' file='globals' type='int'/>
     <variable name='xmlKeepBlanksDefaultValue' file='globals' type='int'/>
     <variable name='xmlLineNumbersDefaultValue' file='globals' type='int'/>
     <variable name='xmlLoadExtDtdDefaultValue' file='globals' type='int'/>
     <variable name='xmlMalloc' file='globals' type='xmlMallocFunc'/>
+    <variable name='xmlMallocAtomic' file='globals' type='xmlMallocFunc'/>
     <variable name='xmlMemStrdup' file='globals' type='xmlStrdupFunc'/>
     <variable name='xmlParserDebugEntities' file='globals' type='int'/>
-    <variable name='xmlParserVersion' file='parser' type='const char *'/>
+    <variable name='xmlParserVersion' file='globals' type='const char *'/>
     <variable name='xmlPedanticParserDefaultValue' file='globals' type='int'/>
     <variable name='xmlRealloc' file='globals' type='xmlReallocFunc'/>
     <variable name='xmlRegisterNodeDefaultValue' file='globals' type='xmlRegisterNodeFunc'/>
@@ -3269,11 +3289,16 @@
     <variable name='xmlStringComment' file='parserInternals' type='const xmlCharxmlStringComment[]'/>
     <variable name='xmlStringText' file='parserInternals' type='const xmlCharxmlStringText[]'/>
     <variable name='xmlStringTextNoenc' file='parserInternals' type='const xmlCharxmlStringTextNoenc[]'/>
-    <variable name='xmlSubstituteEntitiesDefaultValue' file='parser' type='int'/>
+    <variable name='xmlSubstituteEntitiesDefaultValue' file='globals' type='int'/>
     <variable name='xmlTreeIndentString' file='globals' type='const char *'/>
     <variable name='xmlXPathNAN' file='xpath' type='double'/>
     <variable name='xmlXPathNINF' file='xpath' type='double'/>
     <variable name='xmlXPathPINF' file='xpath' type='double'/>
+    <functype name='TestMemoryFunction' file='testOOMlib'>
+      <info></info>
+      <return type='int' info=''/>
+      <arg name='data' type='void *' info=''/>
+    </functype>
     <function name='UTF8ToHtml' file='HTMLparser'>
       <info>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</info>
       <return type='int' info='0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.'/>
@@ -4122,6 +4147,37 @@
       <arg name='name' type='const xmlChar *' info='The element name, including namespace prefix'/>
       <arg name='atts' type='const xmlChar **' info='An array of name/value attributes pairs, NULL terminated'/>
     </functype>
+    <function name='test_free' file='testOOMlib'>
+      <info></info>
+      <return type='void'/>
+      <arg name='memory' type='void *' info=''/>
+    </function>
+    <function name='test_get_malloc_blocks_outstanding' file='testOOMlib'>
+      <info></info>
+      <return type='int' info=''/>
+    </function>
+    <function name='test_malloc' file='testOOMlib'>
+      <info></info>
+      <return type='void *' info=''/>
+      <arg name='bytes' type='size_t' info=''/>
+    </function>
+    <function name='test_oom_handling' file='testOOMlib'>
+      <info></info>
+      <return type='int' info=''/>
+      <arg name='func' type='TestMemoryFunction' info=''/>
+      <arg name='data' type='void *' info=''/>
+    </function>
+    <function name='test_realloc' file='testOOMlib'>
+      <info></info>
+      <return type='void *' info=''/>
+      <arg name='memory' type='void *' info=''/>
+      <arg name='bytes' type='size_t' info=''/>
+    </function>
+    <function name='test_strdup' file='testOOMlib'>
+      <info></info>
+      <return type='char *' info=''/>
+      <arg name='str' type='const char *' info=''/>
+    </function>
     <function name='unparsedEntityDecl' file='SAX'>
       <info>What to do when an unparsed entity declaration is parsed</info>
       <return type='void'/>
@@ -5448,6 +5504,24 @@
       <return type='void'/>
       <arg name='uri' type='xmlURIPtr' info='pointer to an xmlURI'/>
     </function>
+    <function name='xmlGcMemGet' file='xmlmemory'>
+      <info>Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas  useful for garbage collected memory allocators</info>
+      <return type='int' info='0 on success'/>
+      <arg name='freeFunc' type='xmlFreeFunc *' info='place to save the free() function in use'/>
+      <arg name='mallocFunc' type='xmlMallocFunc *' info='place to save the malloc() function in use'/>
+      <arg name='mallocAtomicFunc' type='xmlMallocFunc *' info='place to save the atomic malloc() function in use'/>
+      <arg name='reallocFunc' type='xmlReallocFunc *' info='place to save the realloc() function in use'/>
+      <arg name='strdupFunc' type='xmlStrdupFunc *' info='place to save the strdup() function in use'/>
+    </function>
+    <function name='xmlGcMemSetup' file='xmlmemory'>
+      <info>Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas  useful for garbage collected memory allocators  Should this be blocked if there was already some allocations done ?</info>
+      <return type='int' info='0 on success'/>
+      <arg name='freeFunc' type='xmlFreeFunc' info='the free() function to use'/>
+      <arg name='mallocFunc' type='xmlMallocFunc' info='the malloc() function to use'/>
+      <arg name='mallocAtomicFunc' type='xmlMallocFunc' info='the malloc() function to use for atomic allocations'/>
+      <arg name='reallocFunc' type='xmlReallocFunc' info='the realloc() function to use'/>
+      <arg name='strdupFunc' type='xmlStrdupFunc' info='the strdup() function to use'/>
+    </function>
     <functype name='xmlGenericErrorFunc' file='xmlerror'>
       <info>Signature of the function to use when there is an error and no parsing or validity context available .</info>
       <return type='void'/>
@@ -5903,7 +5977,7 @@
     </function>
     <function name='xmlInitParserCtxt' file='parser'>
       <info>Initialize a parser context</info>
-      <return type='void'/>
+      <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlInitThreads' file='threads'>
@@ -8320,7 +8394,7 @@
     </function>
     <function name='xmlTextConcat' file='tree'>
       <info>Concat the given string at the end of the existing node content</info>
-      <return type='void'/>
+      <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='node' type='xmlNodePtr' info='the node'/>
       <arg name='content' type='const xmlChar *' info='the content'/>
       <arg name='len' type='int' info='@content length'/>
diff --git a/python/libxml2class.txt b/python/libxml2class.txt
index 1e6808a..ae92f0d 100644
--- a/python/libxml2class.txt
+++ b/python/libxml2class.txt
@@ -132,6 +132,10 @@
 relaxNGNewMemParserCtxt()
 relaxNGNewParserCtxt()
 
+# functions from module testOOMlib
+test_get_malloc_blocks_outstanding()
+test_strdup()
+
 # functions from module tree
 buildQName()
 compressMode()