Restore PyXXX_Length() APIs for binary compatibility.
New code will see the macros and therefore use the PyXXX_Size()
APIs instead.
By Thomas Wouters.
diff --git a/Include/abstract.h b/Include/abstract.h
index b765c4b..7a6b7cf 100644
--- a/Include/abstract.h
+++ b/Include/abstract.h
@@ -383,8 +383,6 @@
 
      DL_IMPORT(int) PyObject_Size(PyObject *o);
 
-#define PyObject_Length PyObject_Size
-
        /*
          Return the size of object o.  If the object, o, provides
 	 both sequence and mapping protocols, the sequence size is
@@ -393,6 +391,12 @@
 
        */
 
+       /* For DLL compatibility */
+#undef PyObject_Length
+     DL_IMPORT(int) PyObject_Length(PyObject *o);
+#define PyObject_Length PyObject_Size
+
+
      DL_IMPORT(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key);
 
        /*
@@ -685,13 +689,17 @@
 
      DL_IMPORT(int) PySequence_Size(PyObject *o);
 
-#define PySequence_Length PySequence_Size
-
        /*
          Return the size of sequence object o, or -1 on failure.
 
        */
 
+       /* For DLL compatibility */
+#undef PySequence_Length
+     DL_IMPORT(int) PySequence_Length(PyObject *o);
+#define PySequence_Length PySequence_Size
+
+
      DL_IMPORT(PyObject *) PySequence_Concat(PyObject *o1, PyObject *o2);
 
        /*
@@ -839,14 +847,18 @@
 
      DL_IMPORT(int) PyMapping_Size(PyObject *o);
 
-#define PyMapping_Length PyMapping_Size
-
        /*
          Returns the number of keys in object o on success, and -1 on
 	 failure.  For objects that do not provide sequence protocol,
 	 this is equivalent to the Python expression: len(o).
        */
 
+       /* For DLL compatibility */
+#undef PyMapping_Length
+     DL_IMPORT(int) PyMapping_Length(PyObject *o);
+#define PyMapping_Length PyMapping_Size
+
+
      /* implemented as a macro:
 
      int PyMapping_DelItemString(PyObject *o, char *key);
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 2c7c307..1d99019 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -78,6 +78,14 @@
 	return PyMapping_Size(o);
 }
 
+#undef PyObject_Length
+int
+PyObject_Length(PyObject *o)
+{
+	return PyObject_Size(o);
+}
+#define PyObject_Length PyObject_Size
+
 PyObject *
 PyObject_GetItem(PyObject *o, PyObject *key)
 {
@@ -820,6 +828,14 @@
 	return -1;
 }
 
+#undef PySequence_Length
+int
+PySequence_Length(PyObject *s)
+{
+	return PySequence_Size(s);
+}
+#define PySequence_Length PySequence_Size
+
 PyObject *
 PySequence_Concat(PyObject *s, PyObject *o)
 {
@@ -1278,6 +1294,14 @@
 	return -1;
 }
 
+#undef PyMapping_Length
+int
+PyMapping_Length(PyObject *o)
+{
+	return PyMapping_Size(o);
+}
+#define PyMapping_Length PyMapping_Size
+
 PyObject *
 PyMapping_GetItemString(PyObject *o, char *key)
 {