new names for lots of new functions
diff --git a/Include/accessobject.h b/Include/accessobject.h
index 8cf4120..47f9895 100644
--- a/Include/accessobject.h
+++ b/Include/accessobject.h
@@ -46,19 +46,19 @@
 #define AC_R_PUBLIC	0004
 #define AC_W_PUBLIC	0002
 
-extern DL_IMPORT PyTypeObject Accesstype;
+extern DL_IMPORT PyTypeObject PyAccess_Type;
 
-#define PyAccess_Check(v) ((v)->ob_type == &Accesstype)
+#define PyAccess_Check(v) ((v)->ob_type == &PyAccess_Type)
 
-PyObject *newaccessobject Py_PROTO((PyObject *, PyObject *, PyTypeObject *, int));
-PyObject *getaccessvalue Py_PROTO((PyObject *, PyObject *));
-int setaccessvalue Py_PROTO((PyObject *, PyObject *, PyObject *));
+PyObject *PyAccess_FromValue Py_PROTO((PyObject *, PyObject *, PyTypeObject *, int));
+PyObject *PyAccess_AsValue Py_PROTO((PyObject *, PyObject *));
+int PyAccess_SetValue Py_PROTO((PyObject *, PyObject *, PyObject *));
 
-void setaccessowner Py_PROTO((PyObject *, PyObject *));
-PyObject *cloneaccessobject Py_PROTO((PyObject *));
-int hasaccessvalue Py_PROTO((PyObject *));
+void PyAccess_SetOwner Py_PROTO((PyObject *, PyObject *));
+PyObject *PyAccess_Clone Py_PROTO((PyObject *));
+int PyAccess_HasValue Py_PROTO((PyObject *));
 
-extern DL_IMPORT PyTypeObject Anynumbertype, Anysequencetype, Anymappingtype;
+extern DL_IMPORT PyTypeObject PyAnyNumber_Type, PyAnySequence_Type, PyAnyMapping_Type;
 
 #ifdef __cplusplus
 }
diff --git a/Include/allobjects.h b/Include/allobjects.h
index 3995a2e..5ce324d 100644
--- a/Include/allobjects.h
+++ b/Include/allobjects.h
@@ -64,7 +64,7 @@
 #include "stringobject.h"
 #include "tupleobject.h"
 #include "listobject.h"
-#include "dictobject.h"
+#include "mappingobject.h"
 #include "methodobject.h"
 #include "moduleobject.h"
 #include "funcobject.h"
diff --git a/Include/bltinmodule.h b/Include/bltinmodule.h
index 7f09f7c..8f39df4 100644
--- a/Include/bltinmodule.h
+++ b/Include/bltinmodule.h
@@ -31,6 +31,7 @@
 /* Built-in module interface */
 
 extern PyObject *getbuiltindict Py_PROTO(());
+extern PyObject *getbuiltinmod Py_PROTO(());
 
 #ifdef __cplusplus
 }
diff --git a/Include/dictobject.h b/Include/dictobject.h
index a14661e..6c22093 100644
--- a/Include/dictobject.h
+++ b/Include/dictobject.h
@@ -32,20 +32,6 @@
 
 #include "mappingobject.h"
 
-#define PyDict_Check(op) is_mappingobject(op)
-
-#define newdictobject PyDict_New
-
-extern PyObject *PyDict_GetItemString Py_PROTO((PyObject *dp, char *key));
-extern int PyDict_SetItemString Py_PROTO((PyObject *dp, char *key, PyObject *item));
-extern int PyDict_DelItemString Py_PROTO((PyObject *dp, char *key));
-
-#define getdictkeys PyDict_Keys
-
-#define dict2lookup PyDict_GetItem
-#define dict2insert PyDict_SetItem
-#define dict2remove PyDict_DelItem
-
 #ifdef __cplusplus
 }
 #endif
diff --git a/Include/errors.h b/Include/errors.h
index 2fa551a..893bc90 100755
--- a/Include/errors.h
+++ b/Include/errors.h
@@ -68,7 +68,7 @@
 
 extern void PyErr_BadInternalCall Py_PROTO((void));
 
-extern int sigcheck Py_PROTO((void)); /* In sigcheck.c or signalmodule.c */
+extern int PyErr_CheckSignals Py_PROTO((void)); /* In sigcheck.c or signalmodule.c */
 
 #ifdef __cplusplus
 }
diff --git a/Include/fileobject.h b/Include/fileobject.h
index b39d947..85c98c6 100644
--- a/Include/fileobject.h
+++ b/Include/fileobject.h
@@ -35,11 +35,11 @@
 #define PyFile_Check(op) ((op)->ob_type == &PyFile_Type)
 
 extern PyObject *PyFile_FromString Py_PROTO((char *, char *));
-extern void setfilebufsize Py_PROTO((PyObject *, int));
+extern void PyFile_SetBufSize Py_PROTO((PyObject *, int));
 extern PyObject *PyFile_FromFile
 	Py_PROTO((FILE *, char *, char *, int (*)Py_FPROTO((FILE *))));
 extern FILE *PyFile_AsFile Py_PROTO((PyObject *));
-extern PyObject *getfilename Py_PROTO((PyObject *));
+extern PyObject *PyFile_Name Py_PROTO((PyObject *));
 extern PyObject *PyFile_GetLine Py_PROTO((PyObject *, int));
 
 #ifdef __cplusplus
diff --git a/Include/frameobject.h b/Include/frameobject.h
index 19534d5..949016a 100644
--- a/Include/frameobject.h
+++ b/Include/frameobject.h
@@ -72,7 +72,7 @@
 
 /* The rest of the interface is specific for frame objects */
 
-/* List access macros */
+/* Tuple access macros */
 
 #ifdef NDEBUG
 #define GETITEM(v, i) PyTuple_GET_ITEM((PyTupleObject *)(v), (i))
@@ -103,8 +103,8 @@
 
 /* Conversions between "fast locals" and locals in dictionary */
 
-void locals_2_fast Py_PROTO((PyFrameObject *, int));
-void fast_2_locals Py_PROTO((PyFrameObject *));
+void PyFrame_LocalsToFast Py_PROTO((PyFrameObject *, int));
+void PyFrame_FastToLocals Py_PROTO((PyFrameObject *));
 
 #ifdef __cplusplus
 }
diff --git a/Include/funcobject.h b/Include/funcobject.h
index 877faff..d33cad7 100644
--- a/Include/funcobject.h
+++ b/Include/funcobject.h
@@ -47,8 +47,8 @@
 extern PyObject *PyFunction_New Py_PROTO((PyObject *, PyObject *));
 extern PyObject *PyFunction_GetCode Py_PROTO((PyObject *));
 extern PyObject *PyFunction_GetGlobals Py_PROTO((PyObject *));
-extern PyObject *getfuncargstuff Py_PROTO((PyObject *, int *));
-extern int     setfuncargstuff Py_PROTO((PyObject *, int, PyObject *));
+extern PyObject *PyFunction_GetArgStuff Py_PROTO((PyObject *, int *));
+extern int PyFunction_SetArgStuff Py_PROTO((PyObject *, int, PyObject *));
 
 #ifdef __cplusplus
 }
diff --git a/Include/listobject.h b/Include/listobject.h
index 083a44b..47d30e4 100644
--- a/Include/listobject.h
+++ b/Include/listobject.h
@@ -62,6 +62,7 @@
 extern PyObject *PyList_GetSlice Py_PROTO((PyObject *, int, int));
 extern int PyList_SetSlice Py_PROTO((PyObject *, int, int, PyObject *));
 extern int PyList_Sort Py_PROTO((PyObject *));
+extern int PyList_Reverse Py_PROTO((PyObject *));
 extern PyObject *listtuple Py_PROTO((PyObject *));
 
 /* Macro, trading safety for speed */
diff --git a/Include/longobject.h b/Include/longobject.h
index bc6a7fe..2a34417 100644
--- a/Include/longobject.h
+++ b/Include/longobject.h
@@ -41,8 +41,7 @@
 extern long PyLong_AsLong Py_PROTO((PyObject *));
 extern double PyLong_AsDouble Py_PROTO((PyObject *));
 
-PyObject *PyLong_FromString Py_PROTO((char *, int));
-PyObject *long_escan Py_PROTO((char *, char **, int));
+PyObject *PyLong_FromString Py_PROTO((char *, char **, int));
 
 #ifdef __cplusplus
 }
diff --git a/Include/mappingobject.h b/Include/mappingobject.h
index dbbe1ab..f8e838c 100644
--- a/Include/mappingobject.h
+++ b/Include/mappingobject.h
@@ -28,11 +28,12 @@
 
 ******************************************************************/
 
-/* Mapping object type -- mapping from hashable object to object */
+/* Dictionary object type -- mapping from hashable object to object */
+/* NB Should be moved back to dictobject.h */
 
-extern DL_IMPORT PyTypeObject Mappingtype;
+extern DL_IMPORT PyTypeObject PyDict_Type;
 
-#define is_mappingobject(op) ((op)->ob_type == &Mappingtype)
+#define PyDict_Check(op) ((op)->ob_type == &PyDict_Type)
 
 extern PyObject *PyDict_New Py_PROTO((void));
 extern PyObject *PyDict_GetItem Py_PROTO((PyObject *mp, PyObject *key));
@@ -44,7 +45,11 @@
 extern PyObject *PyDict_Keys Py_PROTO((PyObject *mp));
 extern PyObject *PyDict_Values Py_PROTO((PyObject *mp));
 extern PyObject *PyDict_Items Py_PROTO((PyObject *mp));
-extern int getmappingsize Py_PROTO((PyObject *mp));
+extern int PyDict_Size Py_PROTO((PyObject *mp));
+
+extern PyObject *PyDict_GetItemString Py_PROTO((PyObject *dp, char *key));
+extern int PyDict_SetItemString Py_PROTO((PyObject *dp, char *key, PyObject *item));
+extern int PyDict_DelItemString Py_PROTO((PyObject *dp, char *key));
 
 #ifdef __cplusplus
 }
diff --git a/Include/marshal.h b/Include/marshal.h
index e5ee545..55396d5 100644
--- a/Include/marshal.h
+++ b/Include/marshal.h
@@ -31,11 +31,11 @@
 /* Interface for marshal.c */
 
 void PyMarshal_WriteLongToFile Py_PROTO((long, FILE *));
-void wr_short Py_PROTO((int, FILE *));
+void PyMarshal_WriteShortToFile Py_PROTO((int, FILE *));
 void PyMarshal_WriteObjectToFile Py_PROTO((PyObject *, FILE *));
 
 long PyMarshal_ReadLongFromFile Py_PROTO((FILE *));
-int rd_short Py_PROTO((FILE *));
+int PyMarshal_ReadShortFromFile Py_PROTO((FILE *));
 PyObject *PyMarshal_ReadObjectFromFile Py_PROTO((FILE *));
 PyObject *PyMarshal_ReadObjectFromString Py_PROTO((char *, int));
 
diff --git a/Include/object.h b/Include/object.h
index e2d0329..a9c7dda 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -244,10 +244,10 @@
 /* Generic operations on objects */
 extern int PyObject_Print Py_PROTO((PyObject *, FILE *, int));
 extern PyObject * PyObject_Repr Py_PROTO((PyObject *));
-extern PyObject * strobject Py_PROTO((PyObject *));
+extern PyObject * PyObject_Str Py_PROTO((PyObject *));
 extern int PyObject_Compare Py_PROTO((PyObject *, PyObject *));
 extern PyObject *PyObject_GetAttrString Py_PROTO((PyObject *, char *));
-extern int hasattr Py_PROTO((PyObject *, char *));
+extern int PyObject_HasAttrString Py_PROTO((PyObject *, char *));
 extern PyObject *PyObject_GetAttr Py_PROTO((PyObject *, PyObject *));
 extern int PyObject_SetAttr Py_PROTO((PyObject *, PyObject *, PyObject *));
 extern long PyObject_Hash Py_PROTO((PyObject *));
diff --git a/Include/pyerrors.h b/Include/pyerrors.h
index 2fa551a..893bc90 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -68,7 +68,7 @@
 
 extern void PyErr_BadInternalCall Py_PROTO((void));
 
-extern int sigcheck Py_PROTO((void)); /* In sigcheck.c or signalmodule.c */
+extern int PyErr_CheckSignals Py_PROTO((void)); /* In sigcheck.c or signalmodule.c */
 
 #ifdef __cplusplus
 }
diff --git a/Include/pythonrun.h b/Include/pythonrun.h
index cecb0cc..837d2f5 100644
--- a/Include/pythonrun.h
+++ b/Include/pythonrun.h
@@ -54,7 +54,7 @@
 
 void Py_Exit Py_PROTO((int));
 
-void cleanup Py_PROTO((void));
+void Py_Cleanup Py_PROTO((void));
 
 #ifdef __cplusplus
 }
diff --git a/Include/rangeobject.h b/Include/rangeobject.h
index f7ed0f1..f8b466c 100644
--- a/Include/rangeobject.h
+++ b/Include/rangeobject.h
@@ -25,17 +25,15 @@
 /* Range object interface */
 
 /*
-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12
-
-rangeobject represents an integer range.  This is an immutable object;
+A range object represents an integer range.  This is an immutable object;
 a range cannot change its value after creation.
 
 Range objects behave like the corresponding tuple objects except that
 they are represented by a start, stop, and step datamembers.
 */
 
-extern DL_IMPORT PyTypeObject Rangetype;
+extern DL_IMPORT PyTypeObject PyRange_Type;
 
-#define is_rangeobject(op) ((op)->ob_type == &Rangetype)
+#define PyRange_Check(op) ((op)->ob_type == &PyRange_Type)
 
-extern PyObject *newrangeobject Py_PROTO((long, long, long, int));
+extern PyObject *PyRange_New Py_PROTO((long, long, long, int));
diff --git a/Include/rename2.h b/Include/rename2.h
index 5031b83..e955346 100644
--- a/Include/rename2.h
+++ b/Include/rename2.h
@@ -48,6 +48,12 @@
 #define newaccessobject PyAccess_FromValue
 #define getaccessvalue PyAccess_AsValue
 #define setaccessvalue PyAccess_SetValue
+#define setaccessowner PyAccess_SetOwner
+#define cloneaccessobject PyAccess_Clone
+#define hasaccessvalue PyAccess_HasValue
+#define Anynumbertype PyAnyNumber_Type
+#define Anysequencetype PyAnySequence_Type
+#define Anymappingtype PyAnyMapping_Type
 
 #ifdef Py_TRACE_REFS
 #define TRACE_REFS
@@ -68,6 +74,7 @@
 #define threads_started _PyThread_Started
 #define tok_name _PyParser_TokenNames
 #define verbose Py_VerboseFlag
+#define suppress_print Py_SuppressPrintingFlag
 #define AccessError PyExc_AccessError
 #define AttributeError PyExc_AttributeError
 #define ConflictError PyExc_ConflictError
@@ -95,6 +102,7 @@
 #define Typetype PyType_Type
 #define Listtype PyList_Type
 #define Dicttype PyDict_Type
+#define Mappingtype PyDict_Type
 #define Tupletype PyTuple_Type
 #define Filetype PyFile_Type
 #define Classtype PyClass_Type
@@ -105,6 +113,7 @@
 #define Moduletype PyModule_Type
 #define Codetype PyCode_Type
 #define Frametype PyFrame_Type
+#define Rangetype PyRange_Type
 #define floatobject PyFloatObject
 #define intobject PyIntObject
 #define longobject PyLongObject
@@ -150,6 +159,7 @@
 #define is_typeobject PyType_Check
 #define is_listobject PyList_Check
 #define is_dictobject PyDict_Check
+#define is_mappingobject PyDict_Check
 #define is_tupleobject PyTuple_Check
 #define is_fileobject PyFile_Check
 #define is_classobject PyClass_Check
@@ -170,11 +180,14 @@
 #define cmpobject PyObject_Compare
 #define getattr PyObject_GetAttrString
 #define getattro PyObject_GetAttr
+#define hasattr PyObject_HasAttrString
+#define hasattro PyObject_HasAttr
 #define hashobject PyObject_Hash
 #define newobject _PyObject_New
 #define newvarobject _PyObject_NewVar
 #define printobject PyObject_Print
 #define reprobject PyObject_Repr
+#define strobject PyObject_Str
 #define setattr PyObject_SetAttrString
 #define setattro PyObject_SetAttr
 #define testbool PyObject_IsTrue
@@ -185,18 +198,21 @@
 #define newfloatobject PyFloat_FromDouble
 #define getintvalue PyInt_AsLong
 #define GETINTVALUE PyInt_AS_LONG
+#define getmaxint PyInt_GetMax
 #define newintobject PyInt_FromLong
 #define alloclongobject _PyLong_New
 #define dgetlongvalue PyLong_AsDouble
 #define dnewlongobject PyLong_FromDouble
 #define getlongvalue PyLong_AsLong
-#define long_scan PyLong_FromString
+#define long_escan PyLong_FromString
+#define long_scan(a, b) PyLong_FromString((a), (char **)0, (b))
 #define newlongobject PyLong_FromLong
 #define formatstring PyString_Format
 #define getstringsize PyString_Size
 #define getstringvalue PyString_AsString
 #define GETSTRINGVALUE PyString_AS_STRING
 #define joinstring PyString_Concat
+#define joinstring_decref PyString_ConcatAndDel
 #define newsizedstringobject PyString_FromStringAndSize
 #define newstringobject PyString_FromString
 #define resizestring _PyString_Resize
@@ -210,26 +226,40 @@
 #define setlistitem PyList_SetItem
 #define setlistslice PyList_SetSlice
 #define sortlist PyList_Sort
+#define reverselist PyList_Reverse
+#define listtuple PyList_AsTuple
 #define dictinsert PyDict_SetItemString
 #define dictlookup PyDict_GetItemString
 #define dictremove PyDict_DelItemString
 #define getmappingitems PyDict_Items
+#define getdictitems PyDict_Items
 #define getmappingkeys PyDict_Keys
+#define getdictkeys PyDict_Keys
 #define getmappingvalues PyDict_Values
+#define getdictvalues PyDict_Values
+#define getmappingsize PyDict_Size
+#define getdictsize PyDict_Size
 #define mappingclear PyDict_Clear
 #define mappinggetnext PyDict_Next
 #define mappinginsert PyDict_SetItem
+#define dict2insert PyDict_SetItem
 #define mappinglookup PyDict_GetItem
+#define dict2lookup PyDict_GetItem
 #define mappingremove PyDict_DelItem
+#define dict2remove PyDict_DelItem
 #define newmappingobject PyDict_New
+#define newdictobject PyDict_New
 #define gettupleitem PyTuple_GetItem
 #define GETTUPLEITEM PyTuple_GET_ITEM
 #define gettuplesize PyTuple_Size
 #define gettupleslice PyTuple_GetSlice
 #define newtupleobject PyTuple_New
 #define settupleitem PyTuple_SetItem
+#define resizetuple _PyTuple_Resize
 #define filegetline PyFile_GetLine
 #define getfilefile PyFile_AsFile
+#define getfilename PyFile_Name
+#define setfilebufsize PyFile_SetBufSize
 #define newfileobject PyFile_FromString
 #define newopenfileobject PyFile_FromFile
 #define softspace PyFile_SoftSpace
@@ -242,14 +272,22 @@
 #define newclassobject PyClass_New
 #define newinstancemethodobject PyMethod_New
 #define newinstanceobject PyInstance_New
+#define instancebinop PyInstance_DoBinOp
 #define block PyTryBlock
 #define extend_stack PyFrame_ExtendStack
 #define newframeobject PyFrame_New
 #define pop_block PyFrame_BlockPop
 #define setup_block PyFrame_BlockSetup
+#define fast_2_locals PyFrame_FastToLocals
+#define locals_2_fast PyFrame_LocalsToFast
 #define getfunccode PyFunction_GetCode
 #define getfuncglobals PyFunction_GetGlobals
+#define getfuncargstuff PyFunction_GetArgStuff
+#define setfuncargstuff PyFunction_SetArgStuff
+#define mystrtol PyOS_strtol
+#define mystrtoul PyOS_strtoul
 #define newfuncobject PyFunction_New
+#define newrangeobject PyRange_New
 #define method PyCFunction
 #define findmethod Py_FindMethod
 #define getmethod PyCFunction_GetFunction
@@ -299,6 +337,7 @@
 #define add_module PyImport_AddModule
 #define doneimport PyImport_Cleanup
 #define get_modules PyImport_GetModuleDict
+#define get_pyc_magic PyImport_GetMagicNumber
 #define import_module PyImport_ImportModule
 #define init_frozen PyImport_ImportFrozenModule
 #define initimport PyImport_Init
@@ -310,9 +349,11 @@
 #define initmodule Py_InitModule
 #define initmodule4 Py_InitModule4
 #define rd_long PyMarshal_ReadLongFromFile
+#define rd_short PyMarshal_ReadShortFromFile
 #define rd_object PyMarshal_ReadObjectFromFile
 #define rds_object PyMarshal_ReadObjectFromString
 #define wr_long PyMarshal_WriteLongToFile
+#define wr_short PyMarshal_WriteShortToFile
 #define wr_object PyMarshal_WriteObjectToFile
 #define initsys PySys_Init
 #define setpythonargv PySys_SetArgv
@@ -323,6 +364,7 @@
 #define compile_string Py_CompileString
 #define fatal Py_FatalError
 #define goaway Py_Exit
+#define cleanup Py_Cleanup
 #define initall Py_Initialize
 #define print_error PyErr_Print
 #define parse_file PyParser_SimpleParseFile
@@ -339,6 +381,7 @@
 #define mkvalue Py_BuildValue
 #define vmkvalue Py_VaBuildValue
 #define getargs PyArg_Parse
+#define vgetargs PyArgs_VaParse
 #define newgetargs PyArg_ParseTuple
 #define getichararg PyArg_GetChar
 #define getidoublearray PyArg_GetDoubleArray
@@ -372,6 +415,10 @@
 #define initintr PyOS_InitInterrupts
 #define intrcheck PyOS_InterruptOccurred
 #define getmtime PyOS_GetLastModificationTime
+#define my_readline PyOS_Readline
+#define realmain Py_Main
+#define ref_total _Py_RefTotal
+#define sigcheck PyErr_CheckSignals
 
 #ifdef __cplusplus
 }
diff --git a/Include/stringobject.h b/Include/stringobject.h
index 1dac98e..d3b6ce4 100644
--- a/Include/stringobject.h
+++ b/Include/stringobject.h
@@ -31,8 +31,6 @@
 /* String object interface */
 
 /*
-123456789-123456789-123456789-123456789-123456789-123456789-123456789-12
-
 Type PyStringObject represents a character string.  An extra zero byte is
 reserved at the end to ensure it is zero-terminated, but a size is
 present so strings with null bytes in them can be represented.  This
@@ -66,7 +64,7 @@
 extern int PyString_Size Py_PROTO((PyObject *));
 extern char *PyString_AsString Py_PROTO((PyObject *));
 extern void PyString_Concat Py_PROTO((PyObject **, PyObject *));
-extern void joinstring_decref Py_PROTO((PyObject **, PyObject *));
+extern void PyString_ConcatAndDel Py_PROTO((PyObject **, PyObject *));
 extern int _PyString_Resize Py_PROTO((PyObject **, int));
 extern PyObject *PyString_Format Py_PROTO((PyObject *, PyObject *));
 
diff --git a/Include/tupleobject.h b/Include/tupleobject.h
index 17d6c4a..ff60672 100644
--- a/Include/tupleobject.h
+++ b/Include/tupleobject.h
@@ -58,7 +58,7 @@
 extern PyObject *PyTuple_GetItem Py_PROTO((PyObject *, int));
 extern int PyTuple_SetItem Py_PROTO((PyObject *, int, PyObject *));
 extern PyObject *PyTuple_GetSlice Py_PROTO((PyObject *, int, int));
-extern int resizetuple Py_PROTO((PyObject **, int, int));
+extern int _PyTuple_Resize Py_PROTO((PyObject **, int, int));
 
 /* Macro, trading safety for speed */
 #define PyTuple_GET_ITEM(op, i) ((op)->ob_item[i])