Bring this back into sync with PyXML revision 1.58.
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 045b13a..eac92cb 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -1,11 +1,17 @@
 #include "Python.h"
 #include <ctype.h>
 
+#ifdef HAVE_PYMEMCOMPAT_H
+#include "pymemcompat.h"
+#endif
+
 #include "compile.h"
 #include "frameobject.h"
 #include "expat.h"
 
 #ifndef PyDoc_STRVAR
+#define PyDoc_STR(str)         (str)
+#define PyDoc_VAR(name)        static char name[]
 #define PyDoc_STRVAR(name,str) PyDoc_VAR(name) = PyDoc_STR(str)
 #endif
 
@@ -1160,14 +1166,15 @@
     }
     XML_SetUserData(self->itself, (void *)self);
 #ifdef Py_USING_UNICODE
-    XML_SetUnknownEncodingHandler(self->itself, (XML_UnknownEncodingHandler) PyUnknownEncodingHandler, NULL);
+    XML_SetUnknownEncodingHandler(self->itself,
+                  (XML_UnknownEncodingHandler) PyUnknownEncodingHandler, NULL);
 #endif
 
     for (i = 0; handler_info[i].name != NULL; i++)
         /* do nothing */;
 
-    self->handlers = malloc(sizeof(PyObject *)*i);
-    if (!self->handlers){
+    self->handlers = malloc(sizeof(PyObject *) * i);
+    if (!self->handlers) {
         Py_DECREF(self);
         return PyErr_NoMemory();
     }