[Python-checkins] python/dist/src/Include Python.h,2.56,2.57 abstract.h,2.44,2.45 boolobject.h,1.3,1.4 bufferobject.h,2.6,2.7 cellobject.h,2.2,2.3 ceval.h,2.44,2.45 classobject.h,2.40,2.41 cobject.h,2.10,2.11 codecs.h,2.3,2.4 compile.h,2.37,2.38 complexobject.h,2.9,2.10 descrobject.h,2.9,2.10 dictobject.h,2.24,2.25 enumobject.h,2.1,2.2 eval.h,2.15,2.16 fileobject.h,2.30,2.31 floatobject.h,2.20,2.21 frameobject.h,2.35,2.36 funcobject.h,2.24,2.25 intobject.h,2.25,2.26 intrcheck.h,2.9,2.10 iterobject.h,1.4,1.5 listobject.h,2.23,2.24 longintrepr.h,2.13,2.14 longobject.h,2.25,2.26 marshal.h,2.11,2.12 methodobject.h,2.24,2.25 modsupport.h,2.38,2.39 moduleobject.h,2.19,2.20 node.h,2.19,2.20 objimpl.h,2.56,2.57 parsetok.h,2.18,2.19 pgenheaders.h,2.28,2.29 pyerrors.h,2.55,2.56 pygetopt.h,2.1,2.2 pymem.h,2.15,2.16 pystate.h,2.18,2.19 pythonrun.h,2.52,2.53 pythread.h,2.19,2.20 rangeobject.h,2.18,2.19 sliceobject.h,2.6,2.7 stringobject.h,2.34,2.35 structmember.h,2.19,2.20 structseq.h,1.1,1.2 symtable.h,2.9,2.10 sysmodule.h,2.24,2.25 token.h,2.19,2.20 traceback.h,2.19,2.20 tupleobject.h,2.27,2.28 unicodeobject.h,2.39,2.40 weakrefobject.h,1.2,1.3

mhammond@users.sourceforge.net mhammond@users.sourceforge.net
Mon, 12 Aug 2002 00:22:00 -0700


Update of /cvsroot/python/python/dist/src/Include
In directory usw-pr-cvs1:/tmp/cvs-serv3457

Modified Files:
	Python.h abstract.h boolobject.h bufferobject.h cellobject.h 
	ceval.h classobject.h cobject.h codecs.h compile.h 
	complexobject.h descrobject.h dictobject.h enumobject.h eval.h 
	fileobject.h floatobject.h frameobject.h funcobject.h 
	intobject.h intrcheck.h iterobject.h listobject.h 
	longintrepr.h longobject.h marshal.h methodobject.h 
	modsupport.h moduleobject.h node.h objimpl.h parsetok.h 
	pgenheaders.h pyerrors.h pygetopt.h pymem.h pystate.h 
	pythonrun.h pythread.h rangeobject.h sliceobject.h 
	stringobject.h structmember.h structseq.h symtable.h 
	sysmodule.h token.h traceback.h tupleobject.h unicodeobject.h 
	weakrefobject.h 
Log Message:
Excise DL_EXPORT from Include.

Thanks to Skip Montanaro and Kalle Svensson for the patches.

Index: Python.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/Python.h,v
retrieving revision 2.56
retrieving revision 2.57
diff -C2 -d -r2.56 -r2.57
*** Python.h	20 Jul 2002 08:51:52 -0000	2.56
--- Python.h	12 Aug 2002 07:21:56 -0000	2.57
***************
*** 115,119 ****
  
  /* _Py_Mangle is defined in compile.c */
! extern DL_IMPORT(int) _Py_Mangle(char *p, char *name, \
  				 char *buffer, size_t maxlen);
  
--- 115,119 ----
  
  /* _Py_Mangle is defined in compile.c */
! PyAPI_FUNC(int) _Py_Mangle(char *p, char *name, \
  				 char *buffer, size_t maxlen);
  

Index: abstract.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/abstract.h,v
retrieving revision 2.44
retrieving revision 2.45
diff -C2 -d -r2.44 -r2.45
*** abstract.h	8 May 2002 08:44:21 -0000	2.44
--- abstract.h	12 Aug 2002 07:21:56 -0000	2.45
***************
*** 224,228 ****
  #define  PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL)
  
!      DL_IMPORT(int) PyObject_Cmp(PyObject *o1, PyObject *o2, int *result);
  
         /*
--- 224,228 ----
  #define  PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL)
  
!      PyAPI_FUNC(int) PyObject_Cmp(PyObject *o1, PyObject *o2, int *result);
  
[...1069 lines suppressed...]
  
***************
*** 1210,1217 ****
  
  
! DL_IMPORT(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass);
        /* isinstance(object, typeorclass) */
  
! DL_IMPORT(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass);
        /* issubclass(object, typeorclass) */
  
--- 1210,1217 ----
  
  
! PyAPI_FUNC(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass);
        /* isinstance(object, typeorclass) */
  
! PyAPI_FUNC(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass);
        /* issubclass(object, typeorclass) */
  

Index: boolobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/boolobject.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** boolobject.h	2 May 2002 20:23:27 -0000	1.3
--- boolobject.h	12 Aug 2002 07:21:56 -0000	1.4
***************
*** 10,14 ****
  typedef PyIntObject PyBoolObject;
  
! extern DL_IMPORT(PyTypeObject) PyBool_Type;
  
  #define PyBool_Check(x) ((x)->ob_type == &PyBool_Type)
--- 10,14 ----
  typedef PyIntObject PyBoolObject;
  
! PyAPI_DATA(PyTypeObject) PyBool_Type;
  
  #define PyBool_Check(x) ((x)->ob_type == &PyBool_Type)
***************
*** 18,22 ****
  
  /* Don't use these directly */
! extern DL_IMPORT(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct;
  
  /* Use these macros */
--- 18,22 ----
  
  /* Don't use these directly */
! PyAPI_DATA(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct;
  
  /* Use these macros */
***************
*** 25,29 ****
  
  /* Function to return a bool from a C long */
! extern DL_IMPORT(PyObject *) PyBool_FromLong(long);
  
  #ifdef __cplusplus
--- 25,29 ----
  
  /* Function to return a bool from a C long */
! PyAPI_FUNC(PyObject *) PyBool_FromLong(long);
  
  #ifdef __cplusplus

Index: bufferobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/bufferobject.h,v
retrieving revision 2.6
retrieving revision 2.7
diff -C2 -d -r2.6 -r2.7
*** bufferobject.h	1 Sep 2000 23:29:26 -0000	2.6
--- bufferobject.h	12 Aug 2002 07:21:56 -0000	2.7
***************
*** 11,15 ****
  
  
! extern DL_IMPORT(PyTypeObject) PyBuffer_Type;
  
  #define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type)
--- 11,15 ----
  
  
! PyAPI_DATA(PyTypeObject) PyBuffer_Type;
  
  #define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type)
***************
*** 17,30 ****
  #define Py_END_OF_BUFFER	(-1)
  
! extern DL_IMPORT(PyObject *) PyBuffer_FromObject(PyObject *base,
                                                   int offset, int size);
! extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteObject(PyObject *base,
                                                            int offset,
                                                            int size);
  
! extern DL_IMPORT(PyObject *) PyBuffer_FromMemory(void *ptr, int size);
! extern DL_IMPORT(PyObject *) PyBuffer_FromReadWriteMemory(void *ptr, int size);
  
! extern DL_IMPORT(PyObject *) PyBuffer_New(int size);
  
  #ifdef __cplusplus
--- 17,30 ----
  #define Py_END_OF_BUFFER	(-1)
  
! PyAPI_FUNC(PyObject *) PyBuffer_FromObject(PyObject *base,
                                                   int offset, int size);
! PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteObject(PyObject *base,
                                                            int offset,
                                                            int size);
  
! PyAPI_FUNC(PyObject *) PyBuffer_FromMemory(void *ptr, int size);
! PyAPI_FUNC(PyObject *) PyBuffer_FromReadWriteMemory(void *ptr, int size);
  
! PyAPI_FUNC(PyObject *) PyBuffer_New(int size);
  
  #ifdef __cplusplus

Index: cellobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/cellobject.h,v
retrieving revision 2.2
retrieving revision 2.3
diff -C2 -d -r2.2 -r2.3
*** cellobject.h	28 Feb 2002 23:46:34 -0000	2.2
--- cellobject.h	12 Aug 2002 07:21:56 -0000	2.3
***************
*** 12,22 ****
  } PyCellObject;
  
! extern DL_IMPORT(PyTypeObject) PyCell_Type;
  
  #define PyCell_Check(op) ((op)->ob_type == &PyCell_Type)
  
! extern DL_IMPORT(PyObject *) PyCell_New(PyObject *);
! extern DL_IMPORT(PyObject *) PyCell_Get(PyObject *);
! extern DL_IMPORT(int) PyCell_Set(PyObject *, PyObject *);
  
  #define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref)
--- 12,22 ----
  } PyCellObject;
  
! PyAPI_DATA(PyTypeObject) PyCell_Type;
  
  #define PyCell_Check(op) ((op)->ob_type == &PyCell_Type)
  
! PyAPI_FUNC(PyObject *) PyCell_New(PyObject *);
! PyAPI_FUNC(PyObject *) PyCell_Get(PyObject *);
! PyAPI_FUNC(int) PyCell_Set(PyObject *, PyObject *);
  
  #define PyCell_GET(op) (((PyCellObject *)(op))->ob_ref)

Index: ceval.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/ceval.h,v
retrieving revision 2.44
retrieving revision 2.45
diff -C2 -d -r2.44 -r2.45
*** ceval.h	2 Aug 2001 04:15:00 -0000	2.44
--- ceval.h	12 Aug 2002 07:21:56 -0000	2.45
***************
*** 8,17 ****
  /* Interface to random parts in ceval.c */
  
! DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords
! 	(PyObject *, PyObject *, PyObject *);
  
  /* DLL-level Backwards compatibility: */
  #undef PyEval_CallObject
! DL_IMPORT(PyObject *) PyEval_CallObject(PyObject *, PyObject *);
  
  /* Inline this */
--- 8,17 ----
  /* Interface to random parts in ceval.c */
  
! PyAPI_FUNC(PyObject *) PyEval_CallObjectWithKeywords(
! 	PyObject *, PyObject *, PyObject *);
  
  /* DLL-level Backwards compatibility: */
  #undef PyEval_CallObject
! PyAPI_FUNC(PyObject *) PyEval_CallObject(PyObject *, PyObject *);
  
  /* Inline this */
***************
*** 19,51 ****
          PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL)
  
! DL_IMPORT(PyObject *) PyEval_CallFunction(PyObject *obj, char *format, ...);
! DL_IMPORT(PyObject *) PyEval_CallMethod(PyObject *obj,
                                          char *methodname, char *format, ...);
  
! DL_IMPORT(void) PyEval_SetProfile(Py_tracefunc, PyObject *);
! DL_IMPORT(void) PyEval_SetTrace(Py_tracefunc, PyObject *);
  
! DL_IMPORT(PyObject *) PyEval_GetBuiltins(void);
! DL_IMPORT(PyObject *) PyEval_GetGlobals(void);
! DL_IMPORT(PyObject *) PyEval_GetLocals(void);
! DL_IMPORT(PyObject *) PyEval_GetOwner(void);
! DL_IMPORT(PyObject *) PyEval_GetFrame(void);
! DL_IMPORT(int) PyEval_GetRestricted(void);
  
  /* Look at the current frame's (if any) code's co_flags, and turn on
     the corresponding compiler flags in cf->cf_flags.  Return 1 if any
     flag was set, else return 0. */
! DL_IMPORT(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf);
  
! DL_IMPORT(int) Py_FlushLine(void);
  
! DL_IMPORT(int) Py_AddPendingCall(int (*func)(void *), void *arg);
! DL_IMPORT(int) Py_MakePendingCalls(void);
  
! DL_IMPORT(void) Py_SetRecursionLimit(int);
! DL_IMPORT(int) Py_GetRecursionLimit(void);
  
! DL_IMPORT(char *) PyEval_GetFuncName(PyObject *);
! DL_IMPORT(char *) PyEval_GetFuncDesc(PyObject *);
  
  /* Interface for threads.
--- 19,51 ----
          PyEval_CallObjectWithKeywords(func, arg, (PyObject *)NULL)
  
! PyAPI_FUNC(PyObject *) PyEval_CallFunction(PyObject *obj, char *format, ...);
! PyAPI_FUNC(PyObject *) PyEval_CallMethod(PyObject *obj,
                                          char *methodname, char *format, ...);
  
! PyAPI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObject *);
! PyAPI_FUNC(void) PyEval_SetTrace(Py_tracefunc, PyObject *);
  
! PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(void);
! PyAPI_FUNC(PyObject *) PyEval_GetGlobals(void);
! PyAPI_FUNC(PyObject *) PyEval_GetLocals(void);
! PyAPI_FUNC(PyObject *) PyEval_GetOwner(void);
! PyAPI_FUNC(PyObject *) PyEval_GetFrame(void);
! PyAPI_FUNC(int) PyEval_GetRestricted(void);
  
  /* Look at the current frame's (if any) code's co_flags, and turn on
     the corresponding compiler flags in cf->cf_flags.  Return 1 if any
     flag was set, else return 0. */
! PyAPI_FUNC(int) PyEval_MergeCompilerFlags(PyCompilerFlags *cf);
  
! PyAPI_FUNC(int) Py_FlushLine(void);
  
! PyAPI_FUNC(int) Py_AddPendingCall(int (*func)(void *), void *arg);
! PyAPI_FUNC(int) Py_MakePendingCalls(void);
  
! PyAPI_FUNC(void) Py_SetRecursionLimit(int);
! PyAPI_FUNC(int) Py_GetRecursionLimit(void);
  
! PyAPI_FUNC(char *) PyEval_GetFuncName(PyObject *);
! PyAPI_FUNC(char *) PyEval_GetFuncDesc(PyObject *);
  
  /* Interface for threads.
***************
*** 94,108 ****
  */
  
! extern DL_IMPORT(PyThreadState *) PyEval_SaveThread(void);
! extern DL_IMPORT(void) PyEval_RestoreThread(PyThreadState *);
  
  #ifdef WITH_THREAD
  
! extern DL_IMPORT(void) PyEval_InitThreads(void);
! extern DL_IMPORT(void) PyEval_AcquireLock(void);
! extern DL_IMPORT(void) PyEval_ReleaseLock(void);
! extern DL_IMPORT(void) PyEval_AcquireThread(PyThreadState *tstate);
! extern DL_IMPORT(void) PyEval_ReleaseThread(PyThreadState *tstate);
! extern DL_IMPORT(void) PyEval_ReInitThreads(void);
  
  #define Py_BEGIN_ALLOW_THREADS { \
--- 94,108 ----
  */
  
! PyAPI_FUNC(PyThreadState *) PyEval_SaveThread(void);
! PyAPI_FUNC(void) PyEval_RestoreThread(PyThreadState *);
  
  #ifdef WITH_THREAD
  
! PyAPI_FUNC(void) PyEval_InitThreads(void);
! PyAPI_FUNC(void) PyEval_AcquireLock(void);
! PyAPI_FUNC(void) PyEval_ReleaseLock(void);
! PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate);
! PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate);
! PyAPI_FUNC(void) PyEval_ReInitThreads(void);
  
  #define Py_BEGIN_ALLOW_THREADS { \
***************
*** 123,127 ****
  #endif /* !WITH_THREAD */
  
! extern DL_IMPORT(int) _PyEval_SliceIndex(PyObject *, int *);
  
  
--- 123,127 ----
  #endif /* !WITH_THREAD */
  
! PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, int *);
  
  

Index: classobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/classobject.h,v
retrieving revision 2.40
retrieving revision 2.41
diff -C2 -d -r2.40 -r2.41
*** classobject.h	7 Dec 2001 21:54:33 -0000	2.40
--- classobject.h	12 Aug 2002 07:21:56 -0000	2.41
***************
*** 36,40 ****
  } PyMethodObject;
  
! extern DL_IMPORT(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type;
  
  #define PyClass_Check(op) ((op)->ob_type == &PyClass_Type)
--- 36,40 ----
  } PyMethodObject;
  
! PyAPI_DATA(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type;
  
  #define PyClass_Check(op) ((op)->ob_type == &PyClass_Type)
***************
*** 42,54 ****
  #define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type)
  
! extern DL_IMPORT(PyObject *) PyClass_New(PyObject *, PyObject *, PyObject *);
! extern DL_IMPORT(PyObject *) PyInstance_New(PyObject *, PyObject *,
                                              PyObject *);
! extern DL_IMPORT(PyObject *) PyInstance_NewRaw(PyObject *, PyObject *);
! extern DL_IMPORT(PyObject *) PyMethod_New(PyObject *, PyObject *, PyObject *);
  
! extern DL_IMPORT(PyObject *) PyMethod_Function(PyObject *);
! extern DL_IMPORT(PyObject *) PyMethod_Self(PyObject *);
! extern DL_IMPORT(PyObject *) PyMethod_Class(PyObject *);
  
  /* Macros for direct access to these values. Type checks are *not*
--- 42,54 ----
  #define PyMethod_Check(op) ((op)->ob_type == &PyMethod_Type)
  
! PyAPI_FUNC(PyObject *) PyClass_New(PyObject *, PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyInstance_New(PyObject *, PyObject *,
                                              PyObject *);
! PyAPI_FUNC(PyObject *) PyInstance_NewRaw(PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyMethod_New(PyObject *, PyObject *, PyObject *);
  
! PyAPI_FUNC(PyObject *) PyMethod_Function(PyObject *);
! PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *);
! PyAPI_FUNC(PyObject *) PyMethod_Class(PyObject *);
  
  /* Macros for direct access to these values. Type checks are *not*
***************
*** 61,65 ****
  	(((PyMethodObject *)meth) -> im_class)
  
! extern DL_IMPORT(int) PyClass_IsSubclass(PyObject *, PyObject *);
  
  
--- 61,65 ----
  	(((PyMethodObject *)meth) -> im_class)
  
! PyAPI_FUNC(int) PyClass_IsSubclass(PyObject *, PyObject *);
  
  

Index: cobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/cobject.h,v
retrieving revision 2.10
retrieving revision 2.11
diff -C2 -d -r2.10 -r2.11
*** cobject.h	1 Sep 2000 23:29:26 -0000	2.10
--- cobject.h	12 Aug 2002 07:21:56 -0000	2.11
***************
*** 15,19 ****
  #endif
  
! extern DL_IMPORT(PyTypeObject) PyCObject_Type;
  
  #define PyCObject_Check(op) ((op)->ob_type == &PyCObject_Type)
--- 15,19 ----
  #endif
  
! PyAPI_DATA(PyTypeObject) PyCObject_Type;
  
  #define PyCObject_Check(op) ((op)->ob_type == &PyCObject_Type)
***************
*** 25,30 ****
  
  */
! extern DL_IMPORT(PyObject *)
! PyCObject_FromVoidPtr(void *cobj, void (*destruct)(void*));
  
  
--- 25,30 ----
  
  */
! PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtr(
! 	void *cobj, void (*destruct)(void*));
  
  
***************
*** 34,52 ****
     the PyCObject is destroyed.
  */
! extern DL_IMPORT(PyObject *)
! PyCObject_FromVoidPtrAndDesc(void *cobj, void *desc,
!                              void (*destruct)(void*,void*));
  
  /* Retrieve a pointer to a C object from a PyCObject. */
! extern DL_IMPORT(void *)
! PyCObject_AsVoidPtr(PyObject *);
  
  /* Retrieve a pointer to a description object from a PyCObject. */
! extern DL_IMPORT(void *)
! PyCObject_GetDesc(PyObject *);
  
  /* Import a pointer to a C object from a module using a PyCObject. */
! extern DL_IMPORT(void *)
! PyCObject_Import(char *module_name, char *cobject_name);
  
  #ifdef __cplusplus
--- 34,48 ----
     the PyCObject is destroyed.
  */
! PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtrAndDesc(
! 	void *cobj, void *desc, void (*destruct)(void*,void*));
  
  /* Retrieve a pointer to a C object from a PyCObject. */
! PyAPI_FUNC(void *) PyCObject_AsVoidPtr(PyObject *);
  
  /* Retrieve a pointer to a description object from a PyCObject. */
! PyAPI_FUNC(void *) PyCObject_GetDesc(PyObject *);
  
  /* Import a pointer to a C object from a module using a PyCObject. */
! PyAPI_FUNC(void *) PyCObject_Import(char *module_name, char *cobject_name);
  
  #ifdef __cplusplus

Index: codecs.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/codecs.h,v
retrieving revision 2.3
retrieving revision 2.4
diff -C2 -d -r2.3 -r2.4
*** codecs.h	3 Aug 2000 16:24:24 -0000	2.3
--- codecs.h	12 Aug 2002 07:21:56 -0000	2.4
***************
*** 24,28 ****
     The search_function's refcount is incremented by this function. */
  
! extern DL_IMPORT(int) PyCodec_Register(
         PyObject *search_function
         );
--- 24,28 ----
     The search_function's refcount is incremented by this function. */
  
! PyAPI_FUNC(int) PyCodec_Register(
         PyObject *search_function
         );
***************
*** 46,50 ****
   */
  
! extern DL_IMPORT(PyObject *) _PyCodec_Lookup(
         const char *encoding
         );
--- 46,50 ----
   */
  
! PyAPI_FUNC(PyObject *) _PyCodec_Lookup(
         const char *encoding
         );
***************
*** 60,64 ****
   */
  
! extern DL_IMPORT(PyObject *) PyCodec_Encode(
         PyObject *object,
         const char *encoding,
--- 60,64 ----
   */
  
! PyAPI_FUNC(PyObject *) PyCodec_Encode(
         PyObject *object,
         const char *encoding,
***************
*** 76,80 ****
   */
  
! extern DL_IMPORT(PyObject *) PyCodec_Decode(
         PyObject *object,
         const char *encoding,
--- 76,80 ----
   */
  
! PyAPI_FUNC(PyObject *) PyCodec_Decode(
         PyObject *object,
         const char *encoding,
***************
*** 92,96 ****
  /* Get an encoder function for the given encoding. */
  
! extern DL_IMPORT(PyObject *) PyCodec_Encoder(
         const char *encoding
         );
--- 92,96 ----
  /* Get an encoder function for the given encoding. */
  
! PyAPI_FUNC(PyObject *) PyCodec_Encoder(
         const char *encoding
         );
***************
*** 98,102 ****
  /* Get a decoder function for the given encoding. */
  
! extern DL_IMPORT(PyObject *) PyCodec_Decoder(
         const char *encoding
         );
--- 98,102 ----
  /* Get a decoder function for the given encoding. */
  
! PyAPI_FUNC(PyObject *) PyCodec_Decoder(
         const char *encoding
         );
***************
*** 104,108 ****
  /* Get a StreamReader factory function for the given encoding. */
  
! extern DL_IMPORT(PyObject *) PyCodec_StreamReader(
         const char *encoding,
         PyObject *stream,
--- 104,108 ----
  /* Get a StreamReader factory function for the given encoding. */
  
! PyAPI_FUNC(PyObject *) PyCodec_StreamReader(
         const char *encoding,
         PyObject *stream,
***************
*** 112,116 ****
  /* Get a StreamWriter factory function for the given encoding. */
  
! extern DL_IMPORT(PyObject *) PyCodec_StreamWriter(
         const char *encoding,
         PyObject *stream,
--- 112,116 ----
  /* Get a StreamWriter factory function for the given encoding. */
  
! PyAPI_FUNC(PyObject *) PyCodec_StreamWriter(
         const char *encoding,
         PyObject *stream,

Index: compile.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/compile.h,v
retrieving revision 2.37
retrieving revision 2.38
diff -C2 -d -r2.37 -r2.38
*** compile.h	12 Apr 2002 01:20:09 -0000	2.37
--- compile.h	12 Aug 2002 07:21:56 -0000	2.38
***************
*** 44,48 ****
  #define CO_FUTURE_DIVISION    	0x2000
  
! extern DL_IMPORT(PyTypeObject) PyCode_Type;
  
  #define PyCode_Check(op) ((op)->ob_type == &PyCode_Type)
--- 44,48 ----
  #define CO_FUTURE_DIVISION    	0x2000
  
! PyAPI_DATA(PyTypeObject) PyCode_Type;
  
  #define PyCode_Check(op) ((op)->ob_type == &PyCode_Type)
***************
*** 53,62 ****
  /* Public interface */
  struct _node; /* Declare the existence of this type */
! DL_IMPORT(PyCodeObject *) PyNode_Compile(struct _node *, char *);
! DL_IMPORT(PyCodeObject *) PyCode_New(
  	int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *,
  	PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *); 
          /* same as struct above */
! DL_IMPORT(int) PyCode_Addr2Line(PyCodeObject *, int);
  
  /* Future feature support */
--- 53,62 ----
  /* Public interface */
  struct _node; /* Declare the existence of this type */
! PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, char *);
! PyAPI_FUNC(PyCodeObject *) PyCode_New(
  	int, int, int, int, PyObject *, PyObject *, PyObject *, PyObject *,
  	PyObject *, PyObject *, PyObject *, PyObject *, int, PyObject *); 
          /* same as struct above */
! PyAPI_FUNC(int) PyCode_Addr2Line(PyCodeObject *, int);
  
  /* Future feature support */
***************
*** 68,73 ****
  } PyFutureFeatures;
  
! DL_IMPORT(PyFutureFeatures *) PyNode_Future(struct _node *, char *);
! DL_IMPORT(PyCodeObject *) PyNode_CompileFlags(struct _node *, char *,
  					      PyCompilerFlags *);
  
--- 68,73 ----
  } PyFutureFeatures;
  
! PyAPI_FUNC(PyFutureFeatures *) PyNode_Future(struct _node *, char *);
! PyAPI_FUNC(PyCodeObject *) PyNode_CompileFlags(struct _node *, char *,
  					      PyCompilerFlags *);
  

Index: complexobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/complexobject.h,v
retrieving revision 2.9
retrieving revision 2.10
diff -C2 -d -r2.9 -r2.10
*** complexobject.h	12 Sep 2001 19:12:48 -0000	2.9
--- complexobject.h	12 Aug 2002 07:21:56 -0000	2.10
***************
*** 21,30 ****
  #define c_pow _Py_c_pow
  
! extern DL_IMPORT(Py_complex) c_sum(Py_complex, Py_complex);
! extern DL_IMPORT(Py_complex) c_diff(Py_complex, Py_complex);
! extern DL_IMPORT(Py_complex) c_neg(Py_complex);
! extern DL_IMPORT(Py_complex) c_prod(Py_complex, Py_complex);
! extern DL_IMPORT(Py_complex) c_quot(Py_complex, Py_complex);
! extern DL_IMPORT(Py_complex) c_pow(Py_complex, Py_complex);
  
  
--- 21,30 ----
  #define c_pow _Py_c_pow
  
! PyAPI_FUNC(Py_complex) c_sum(Py_complex, Py_complex);
! PyAPI_FUNC(Py_complex) c_diff(Py_complex, Py_complex);
! PyAPI_FUNC(Py_complex) c_neg(Py_complex);
! PyAPI_FUNC(Py_complex) c_prod(Py_complex, Py_complex);
! PyAPI_FUNC(Py_complex) c_quot(Py_complex, Py_complex);
! PyAPI_FUNC(Py_complex) c_pow(Py_complex, Py_complex);
  
  
***************
*** 41,55 ****
  } PyComplexObject;     
  
! extern DL_IMPORT(PyTypeObject) PyComplex_Type;
  
  #define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
  #define PyComplex_CheckExact(op) ((op)->ob_type == &PyComplex_Type)
  
! extern DL_IMPORT(PyObject *) PyComplex_FromCComplex(Py_complex);
! extern DL_IMPORT(PyObject *) PyComplex_FromDoubles(double real, double imag);
  
! extern DL_IMPORT(double) PyComplex_RealAsDouble(PyObject *op);
! extern DL_IMPORT(double) PyComplex_ImagAsDouble(PyObject *op);
! extern DL_IMPORT(Py_complex) PyComplex_AsCComplex(PyObject *op);
  
  #ifdef __cplusplus
--- 41,55 ----
  } PyComplexObject;     
  
! PyAPI_DATA(PyTypeObject) PyComplex_Type;
  
  #define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
  #define PyComplex_CheckExact(op) ((op)->ob_type == &PyComplex_Type)
  
! PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex);
! PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
  
! PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
! PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
! PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op);
  
  #ifdef __cplusplus

Index: descrobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/descrobject.h,v
retrieving revision 2.9
retrieving revision 2.10
diff -C2 -d -r2.9 -r2.10
*** descrobject.h	30 Mar 2002 08:57:12 -0000	2.9
--- descrobject.h	12 Aug 2002 07:21:56 -0000	2.10
***************
*** 68,87 ****
  } PyWrapperDescrObject;
  
! extern DL_IMPORT(PyTypeObject) PyWrapperDescr_Type;
  
! extern DL_IMPORT(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
! extern DL_IMPORT(PyObject *) PyDescr_NewMember(PyTypeObject *,
  					       struct PyMemberDef *);
! extern DL_IMPORT(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
  					       struct PyGetSetDef *);
! extern DL_IMPORT(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
  						struct wrapperbase *, void *);
! extern DL_IMPORT(int) PyDescr_IsData(PyObject *);
  
! extern DL_IMPORT(PyObject *) PyDictProxy_New(PyObject *);
! extern DL_IMPORT(PyObject *) PyWrapper_New(PyObject *, PyObject *);
  
  
! extern DL_IMPORT(PyTypeObject) PyProperty_Type;
  #ifdef __cplusplus
  }
--- 68,87 ----
  } PyWrapperDescrObject;
  
! PyAPI_DATA(PyTypeObject) PyWrapperDescr_Type;
  
! PyAPI_FUNC(PyObject *) PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
! PyAPI_FUNC(PyObject *) PyDescr_NewMember(PyTypeObject *,
  					       struct PyMemberDef *);
! PyAPI_FUNC(PyObject *) PyDescr_NewGetSet(PyTypeObject *,
  					       struct PyGetSetDef *);
! PyAPI_FUNC(PyObject *) PyDescr_NewWrapper(PyTypeObject *,
  						struct wrapperbase *, void *);
! PyAPI_FUNC(int) PyDescr_IsData(PyObject *);
  
! PyAPI_FUNC(PyObject *) PyDictProxy_New(PyObject *);
! PyAPI_FUNC(PyObject *) PyWrapper_New(PyObject *, PyObject *);
  
  
! PyAPI_DATA(PyTypeObject) PyProperty_Type;
  #ifdef __cplusplus
  }

Index: dictobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/dictobject.h,v
retrieving revision 2.24
retrieving revision 2.25
diff -C2 -d -r2.24 -r2.25
*** dictobject.h	11 Apr 2002 20:41:18 -0000	2.24
--- dictobject.h	12 Aug 2002 07:21:56 -0000	2.25
***************
*** 79,101 ****
  };
  
! extern DL_IMPORT(PyTypeObject) PyDict_Type;
  
  #define PyDict_Check(op) PyObject_TypeCheck(op, &PyDict_Type)
  
! extern DL_IMPORT(PyObject *) PyDict_New(void);
! extern DL_IMPORT(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key);
! extern DL_IMPORT(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
! extern DL_IMPORT(int) PyDict_DelItem(PyObject *mp, PyObject *key);
! extern DL_IMPORT(void) PyDict_Clear(PyObject *mp);
! extern DL_IMPORT(int) PyDict_Next
! 	(PyObject *mp, int *pos, PyObject **key, PyObject **value);
! extern DL_IMPORT(PyObject *) PyDict_Keys(PyObject *mp);
! extern DL_IMPORT(PyObject *) PyDict_Values(PyObject *mp);
! extern DL_IMPORT(PyObject *) PyDict_Items(PyObject *mp);
! extern DL_IMPORT(int) PyDict_Size(PyObject *mp);
! extern DL_IMPORT(PyObject *) PyDict_Copy(PyObject *mp);
  
  /* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
! extern DL_IMPORT(int) PyDict_Update(PyObject *mp, PyObject *other);
  
  /* PyDict_Merge updates/merges from a mapping object (an object that
--- 79,101 ----
  };
  
! PyAPI_DATA(PyTypeObject) PyDict_Type;
  
  #define PyDict_Check(op) PyObject_TypeCheck(op, &PyDict_Type)
  
! PyAPI_FUNC(PyObject *) PyDict_New(void);
! PyAPI_FUNC(PyObject *) PyDict_GetItem(PyObject *mp, PyObject *key);
! PyAPI_FUNC(int) PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
! PyAPI_FUNC(int) PyDict_DelItem(PyObject *mp, PyObject *key);
! PyAPI_FUNC(void) PyDict_Clear(PyObject *mp);
! PyAPI_FUNC(int) PyDict_Next(
! 	PyObject *mp, int *pos, PyObject **key, PyObject **value);
! PyAPI_FUNC(PyObject *) PyDict_Keys(PyObject *mp);
! PyAPI_FUNC(PyObject *) PyDict_Values(PyObject *mp);
! PyAPI_FUNC(PyObject *) PyDict_Items(PyObject *mp);
! PyAPI_FUNC(int) PyDict_Size(PyObject *mp);
! PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp);
  
  /* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
! PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other);
  
  /* PyDict_Merge updates/merges from a mapping object (an object that
***************
*** 104,108 ****
     dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).
  */
! extern DL_IMPORT(int) PyDict_Merge(PyObject *mp,
  				   PyObject *other,
  				   int override);
--- 104,108 ----
     dict.update(other) is equivalent to PyDict_Merge(dict, other, 1).
  */
! PyAPI_FUNC(int) PyDict_Merge(PyObject *mp,
  				   PyObject *other,
  				   int override);
***************
*** 113,123 ****
     is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).
  */
! extern DL_IMPORT(int) PyDict_MergeFromSeq2(PyObject *d,
  					   PyObject *seq2,
  					   int override);
  
! extern DL_IMPORT(PyObject *) PyDict_GetItemString(PyObject *dp, char *key);
! extern DL_IMPORT(int) PyDict_SetItemString(PyObject *dp, char *key, PyObject *item);
! extern DL_IMPORT(int) PyDict_DelItemString(PyObject *dp, char *key);
  
  #ifdef __cplusplus
--- 113,123 ----
     is equivalent to dict={}; PyDict_MergeFromSeq(dict, seq2, 1).
  */
! PyAPI_FUNC(int) PyDict_MergeFromSeq2(PyObject *d,
  					   PyObject *seq2,
  					   int override);
  
! PyAPI_FUNC(PyObject *) PyDict_GetItemString(PyObject *dp, char *key);
! PyAPI_FUNC(int) PyDict_SetItemString(PyObject *dp, char *key, PyObject *item);
! PyAPI_FUNC(int) PyDict_DelItemString(PyObject *dp, char *key);
  
  #ifdef __cplusplus

Index: enumobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/enumobject.h,v
retrieving revision 2.1
retrieving revision 2.2
diff -C2 -d -r2.1 -r2.2
*** enumobject.h	26 Apr 2002 19:40:56 -0000	2.1
--- enumobject.h	12 Aug 2002 07:21:56 -0000	2.2
***************
*** 8,12 ****
  #endif
  
! extern DL_IMPORT(PyTypeObject) PyEnum_Type;
  
  #ifdef __cplusplus
--- 8,12 ----
  #endif
  
! PyAPI_DATA(PyTypeObject) PyEnum_Type;
  
  #ifdef __cplusplus

Index: eval.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/eval.h,v
retrieving revision 2.15
retrieving revision 2.16
diff -C2 -d -r2.15 -r2.16
*** eval.h	2 Aug 2001 04:15:00 -0000	2.15
--- eval.h	12 Aug 2002 07:21:56 -0000	2.16
***************
*** 8,14 ****
  #endif
  
! DL_IMPORT(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
  
! DL_IMPORT(PyObject *) PyEval_EvalCodeEx(PyCodeObject *co,
  					PyObject *globals,
  					PyObject *locals,
--- 8,14 ----
  #endif
  
! PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *);
  
! PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyCodeObject *co,
  					PyObject *globals,
  					PyObject *locals,

Index: fileobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/fileobject.h,v
retrieving revision 2.30
retrieving revision 2.31
diff -C2 -d -r2.30 -r2.31
*** fileobject.h	6 Aug 2002 15:55:28 -0000	2.30
--- fileobject.h	12 Aug 2002 07:21:56 -0000	2.31
***************
*** 27,51 ****
  } PyFileObject;
  
! extern DL_IMPORT(PyTypeObject) PyFile_Type;
  
  #define PyFile_Check(op) PyObject_TypeCheck(op, &PyFile_Type)
  #define PyFile_CheckExact(op) ((op)->ob_type == &PyFile_Type)
  
! extern DL_IMPORT(PyObject *) PyFile_FromString(char *, char *);
! extern DL_IMPORT(void) PyFile_SetBufSize(PyObject *, int);
! extern DL_IMPORT(PyObject *) PyFile_FromFile(FILE *, char *, char *,
                                               int (*)(FILE *));
! extern DL_IMPORT(FILE *) PyFile_AsFile(PyObject *);
! extern DL_IMPORT(PyObject *) PyFile_Name(PyObject *);
! extern DL_IMPORT(PyObject *) PyFile_GetLine(PyObject *, int);
! extern DL_IMPORT(int) PyFile_WriteObject(PyObject *, PyObject *, int);
! extern DL_IMPORT(int) PyFile_SoftSpace(PyObject *, int);
! extern DL_IMPORT(int) PyFile_WriteString(const char *, PyObject *);
! extern DL_IMPORT(int) PyObject_AsFileDescriptor(PyObject *);
  
  /* The default encoding used by the platform file system APIs
     If non-NULL, this is different than the default encoding for strings
  */
! extern DL_IMPORT(const char *) Py_FileSystemDefaultEncoding;
  
  #ifdef WITH_UNIVERSAL_NEWLINES
--- 27,51 ----
  } PyFileObject;
  
! PyAPI_DATA(PyTypeObject) PyFile_Type;
  
  #define PyFile_Check(op) PyObject_TypeCheck(op, &PyFile_Type)
  #define PyFile_CheckExact(op) ((op)->ob_type == &PyFile_Type)
  
! PyAPI_FUNC(PyObject *) PyFile_FromString(char *, char *);
! PyAPI_FUNC(void) PyFile_SetBufSize(PyObject *, int);
! PyAPI_FUNC(PyObject *) PyFile_FromFile(FILE *, char *, char *,
                                               int (*)(FILE *));
! PyAPI_FUNC(FILE *) PyFile_AsFile(PyObject *);
! PyAPI_FUNC(PyObject *) PyFile_Name(PyObject *);
! PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int);
! PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int);
! PyAPI_FUNC(int) PyFile_SoftSpace(PyObject *, int);
! PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *);
! PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *);
  
  /* The default encoding used by the platform file system APIs
     If non-NULL, this is different than the default encoding for strings
  */
! PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
  
  #ifdef WITH_UNIVERSAL_NEWLINES

Index: floatobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/floatobject.h,v
retrieving revision 2.20
retrieving revision 2.21
diff -C2 -d -r2.20 -r2.21
*** floatobject.h	10 Sep 2001 21:28:20 -0000	2.20
--- floatobject.h	12 Aug 2002 07:21:56 -0000	2.21
***************
*** 17,21 ****
  } PyFloatObject;
  
! extern DL_IMPORT(PyTypeObject) PyFloat_Type;
  
  #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
--- 17,21 ----
  } PyFloatObject;
  
! PyAPI_DATA(PyTypeObject) PyFloat_Type;
  
  #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type)
***************
*** 25,36 ****
     input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
     purpose once but can't be made to work as intended). */
! extern DL_IMPORT(PyObject *) PyFloat_FromString(PyObject*, char** junk);
  
  /* Return Python float from C double. */
! extern DL_IMPORT(PyObject *) PyFloat_FromDouble(double);
  
  /* Extract C double from Python float.  The macro version trades safety for
     speed. */
! extern DL_IMPORT(double) PyFloat_AsDouble(PyObject *);
  #define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
  
--- 25,36 ----
     input, and, if non-NULL, NULL is stored into *junk (this tried to serve a
     purpose once but can't be made to work as intended). */
! PyAPI_FUNC(PyObject *) PyFloat_FromString(PyObject*, char** junk);
  
  /* Return Python float from C double. */
! PyAPI_FUNC(PyObject *) PyFloat_FromDouble(double);
  
  /* Extract C double from Python float.  The macro version trades safety for
     speed. */
! PyAPI_FUNC(double) PyFloat_AsDouble(PyObject *);
  #define PyFloat_AS_DOUBLE(op) (((PyFloatObject *)(op))->ob_fval)
  
***************
*** 39,43 ****
     PyFloat_AsReprString(buf, x) strives to print enough digits so that
     PyFloat_FromString(buf) then reproduces x exactly. */
! extern DL_IMPORT(void) PyFloat_AsReprString(char*, PyFloatObject *v);
  
  /* Write str(v) into the char buffer argument, followed by null byte.  The
--- 39,43 ----
     PyFloat_AsReprString(buf, x) strives to print enough digits so that
     PyFloat_FromString(buf) then reproduces x exactly. */
! PyAPI_FUNC(void) PyFloat_AsReprString(char*, PyFloatObject *v);
  
  /* Write str(v) into the char buffer argument, followed by null byte.  The
***************
*** 46,50 ****
     PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to
     preserve precision across conversions. */
! extern DL_IMPORT(void) PyFloat_AsString(char*, PyFloatObject *v);
  
  #ifdef __cplusplus
--- 46,50 ----
     PyFloat_AsString's result -- use PyFloat_AsReprString() if you want to
     preserve precision across conversions. */
! PyAPI_FUNC(void) PyFloat_AsString(char*, PyFloatObject *v);
  
  #ifdef __cplusplus

Index: frameobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/frameobject.h,v
retrieving revision 2.35
retrieving revision 2.36
diff -C2 -d -r2.35 -r2.36
*** frameobject.h	14 Jul 2002 00:27:25 -0000	2.35
--- frameobject.h	12 Aug 2002 07:21:56 -0000	2.36
***************
*** 45,53 ****
  /* Standard object interface */
  
! extern DL_IMPORT(PyTypeObject) PyFrame_Type;
  
  #define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type)
  
! DL_IMPORT(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
                                         PyObject *, PyObject *);
  
--- 45,53 ----
  /* Standard object interface */
  
! PyAPI_DATA(PyTypeObject) PyFrame_Type;
  
  #define PyFrame_Check(op) ((op)->ob_type == &PyFrame_Type)
  
! PyAPI_FUNC(PyFrameObject *) PyFrame_New(PyThreadState *, PyCodeObject *,
                                         PyObject *, PyObject *);
  
***************
*** 57,71 ****
  /* Block management functions */
  
! DL_IMPORT(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int);
! DL_IMPORT(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *);
  
  /* Extend the value stack */
  
! DL_IMPORT(PyObject **) PyFrame_ExtendStack(PyFrameObject *, int, int);
  
  /* Conversions between "fast locals" and locals in dictionary */
  
! DL_IMPORT(void) PyFrame_LocalsToFast(PyFrameObject *, int);
! DL_IMPORT(void) PyFrame_FastToLocals(PyFrameObject *);
  
  #ifdef __cplusplus
--- 57,71 ----
  /* Block management functions */
  
! PyAPI_FUNC(void) PyFrame_BlockSetup(PyFrameObject *, int, int, int);
! PyAPI_FUNC(PyTryBlock *) PyFrame_BlockPop(PyFrameObject *);
  
  /* Extend the value stack */
  
! PyAPI_FUNC(PyObject **) PyFrame_ExtendStack(PyFrameObject *, int, int);
  
  /* Conversions between "fast locals" and locals in dictionary */
  
! PyAPI_FUNC(void) PyFrame_LocalsToFast(PyFrameObject *, int);
! PyAPI_FUNC(void) PyFrame_FastToLocals(PyFrameObject *);
  
  #ifdef __cplusplus

Index: funcobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/funcobject.h,v
retrieving revision 2.24
retrieving revision 2.25
diff -C2 -d -r2.24 -r2.25
*** funcobject.h	2 Aug 2001 04:15:00 -0000	2.24
--- funcobject.h	12 Aug 2002 07:21:56 -0000	2.25
***************
*** 20,34 ****
  } PyFunctionObject;
  
! extern DL_IMPORT(PyTypeObject) PyFunction_Type;
  
  #define PyFunction_Check(op) ((op)->ob_type == &PyFunction_Type)
  
! extern DL_IMPORT(PyObject *) PyFunction_New(PyObject *, PyObject *);
! extern DL_IMPORT(PyObject *) PyFunction_GetCode(PyObject *);
! extern DL_IMPORT(PyObject *) PyFunction_GetGlobals(PyObject *);
! extern DL_IMPORT(PyObject *) PyFunction_GetDefaults(PyObject *);
! extern DL_IMPORT(int) PyFunction_SetDefaults(PyObject *, PyObject *);
! extern DL_IMPORT(PyObject *) PyFunction_GetClosure(PyObject *);
! extern DL_IMPORT(int) PyFunction_SetClosure(PyObject *, PyObject *);
  
  /* Macros for direct access to these values. Type checks are *not*
--- 20,34 ----
  } PyFunctionObject;
  
! PyAPI_DATA(PyTypeObject) PyFunction_Type;
  
  #define PyFunction_Check(op) ((op)->ob_type == &PyFunction_Type)
  
! PyAPI_FUNC(PyObject *) PyFunction_New(PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyFunction_GetCode(PyObject *);
! PyAPI_FUNC(PyObject *) PyFunction_GetGlobals(PyObject *);
! PyAPI_FUNC(PyObject *) PyFunction_GetDefaults(PyObject *);
! PyAPI_FUNC(int) PyFunction_SetDefaults(PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyFunction_GetClosure(PyObject *);
! PyAPI_FUNC(int) PyFunction_SetClosure(PyObject *, PyObject *);
  
  /* Macros for direct access to these values. Type checks are *not*
***************
*** 44,52 ****
  
  /* The classmethod and staticmethod types lives here, too */
! extern DL_IMPORT(PyTypeObject) PyClassMethod_Type;
! extern DL_IMPORT(PyTypeObject) PyStaticMethod_Type;
  
! extern DL_IMPORT(PyObject *) PyClassMethod_New(PyObject *);
! extern DL_IMPORT(PyObject *) PyStaticMethod_New(PyObject *);
  
  #ifdef __cplusplus
--- 44,52 ----
  
  /* The classmethod and staticmethod types lives here, too */
! PyAPI_DATA(PyTypeObject) PyClassMethod_Type;
! PyAPI_DATA(PyTypeObject) PyStaticMethod_Type;
  
! PyAPI_FUNC(PyObject *) PyClassMethod_New(PyObject *);
! PyAPI_FUNC(PyObject *) PyStaticMethod_New(PyObject *);
  
  #ifdef __cplusplus

Index: intobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/intobject.h,v
retrieving revision 2.25
retrieving revision 2.26
diff -C2 -d -r2.25 -r2.26
*** intobject.h	3 Apr 2002 22:41:50 -0000	2.25
--- intobject.h	12 Aug 2002 07:21:56 -0000	2.26
***************
*** 26,41 ****
  } PyIntObject;
  
! extern DL_IMPORT(PyTypeObject) PyInt_Type;
  
  #define PyInt_Check(op) PyObject_TypeCheck(op, &PyInt_Type)
  #define PyInt_CheckExact(op) ((op)->ob_type == &PyInt_Type)
  
! extern DL_IMPORT(PyObject *) PyInt_FromString(char*, char**, int);
  #ifdef Py_USING_UNICODE
! extern DL_IMPORT(PyObject *) PyInt_FromUnicode(Py_UNICODE*, int, int);
  #endif
! extern DL_IMPORT(PyObject *) PyInt_FromLong(long);
! extern DL_IMPORT(long) PyInt_AsLong(PyObject *);
! extern DL_IMPORT(long) PyInt_GetMax(void);
  
  /* Macro, trading safety for speed */
--- 26,41 ----
  } PyIntObject;
  
! PyAPI_DATA(PyTypeObject) PyInt_Type;
  
  #define PyInt_Check(op) PyObject_TypeCheck(op, &PyInt_Type)
  #define PyInt_CheckExact(op) ((op)->ob_type == &PyInt_Type)
  
! PyAPI_FUNC(PyObject *) PyInt_FromString(char*, char**, int);
  #ifdef Py_USING_UNICODE
! PyAPI_FUNC(PyObject *) PyInt_FromUnicode(Py_UNICODE*, int, int);
  #endif
! PyAPI_FUNC(PyObject *) PyInt_FromLong(long);
! PyAPI_FUNC(long) PyInt_AsLong(PyObject *);
! PyAPI_FUNC(long) PyInt_GetMax(void);
  
  /* Macro, trading safety for speed */
***************
*** 43,53 ****
  
  /* These aren't really part of the Int object, but they're handy; the protos
!  * are necessary for systems that need the magic of DL_IMPORT and that want
   * to have stropmodule as a dynamically loaded module instead of building it
   * into the main Python shared library/DLL.  Guido thinks I'm weird for
   * building it this way.  :-)  [cjh]
   */
! extern DL_IMPORT(unsigned long) PyOS_strtoul(char *, char **, int);
! extern DL_IMPORT(long) PyOS_strtol(char *, char **, int);
  
  #ifdef __cplusplus
--- 43,53 ----
  
  /* These aren't really part of the Int object, but they're handy; the protos
!  * are necessary for systems that need the magic of PyAPI_FUNC and that want
   * to have stropmodule as a dynamically loaded module instead of building it
   * into the main Python shared library/DLL.  Guido thinks I'm weird for
   * building it this way.  :-)  [cjh]
   */
! PyAPI_FUNC(unsigned long) PyOS_strtoul(char *, char **, int);
! PyAPI_FUNC(long) PyOS_strtol(char *, char **, int);
  
  #ifdef __cplusplus

Index: intrcheck.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/intrcheck.h,v
retrieving revision 2.9
retrieving revision 2.10
diff -C2 -d -r2.9 -r2.10
*** intrcheck.h	1 Sep 2000 23:29:26 -0000	2.9
--- intrcheck.h	12 Aug 2002 07:21:57 -0000	2.10
***************
*** 6,12 ****
  #endif
  
! extern DL_IMPORT(int) PyOS_InterruptOccurred(void);
! extern DL_IMPORT(void) PyOS_InitInterrupts(void);
! DL_IMPORT(void) PyOS_AfterFork(void);
  
  #ifdef __cplusplus
--- 6,12 ----
  #endif
  
! PyAPI_FUNC(int) PyOS_InterruptOccurred(void);
! PyAPI_FUNC(void) PyOS_InitInterrupts(void);
! PyAPI_FUNC(void) PyOS_AfterFork(void);
  
  #ifdef __cplusplus

Index: iterobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/iterobject.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** iterobject.h	30 Mar 2002 08:57:12 -0000	1.4
--- iterobject.h	12 Aug 2002 07:21:57 -0000	1.5
***************
*** 6,20 ****
  #endif
  
! extern DL_IMPORT(PyTypeObject) PySeqIter_Type;
  
  #define PySeqIter_Check(op) ((op)->ob_type == &PySeqIter_Type)
  
! extern DL_IMPORT(PyObject *) PySeqIter_New(PyObject *);
  
! extern DL_IMPORT(PyTypeObject) PyCallIter_Type;
  
  #define PyCallIter_Check(op) ((op)->ob_type == &PyCallIter_Type)
  
! extern DL_IMPORT(PyObject *) PyCallIter_New(PyObject *, PyObject *);
  #ifdef __cplusplus
  }
--- 6,20 ----
  #endif
  
! PyAPI_DATA(PyTypeObject) PySeqIter_Type;
  
  #define PySeqIter_Check(op) ((op)->ob_type == &PySeqIter_Type)
  
! PyAPI_FUNC(PyObject *) PySeqIter_New(PyObject *);
  
! PyAPI_DATA(PyTypeObject) PyCallIter_Type;
  
  #define PyCallIter_Check(op) ((op)->ob_type == &PyCallIter_Type)
  
! PyAPI_FUNC(PyObject *) PyCallIter_New(PyObject *, PyObject *);
  #ifdef __cplusplus
  }

Index: listobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/listobject.h,v
retrieving revision 2.23
retrieving revision 2.24
diff -C2 -d -r2.23 -r2.24
*** listobject.h	5 Oct 2001 20:41:38 -0000	2.23
--- listobject.h	12 Aug 2002 07:21:57 -0000	2.24
***************
*** 25,44 ****
  } PyListObject;
  
! extern DL_IMPORT(PyTypeObject) PyList_Type;
  
  #define PyList_Check(op) PyObject_TypeCheck(op, &PyList_Type)
  #define PyList_CheckExact(op) ((op)->ob_type == &PyList_Type)
  
! extern DL_IMPORT(PyObject *) PyList_New(int size);
! extern DL_IMPORT(int) PyList_Size(PyObject *);
! extern DL_IMPORT(PyObject *) PyList_GetItem(PyObject *, int);
! extern DL_IMPORT(int) PyList_SetItem(PyObject *, int, PyObject *);
! extern DL_IMPORT(int) PyList_Insert(PyObject *, int, PyObject *);
! extern DL_IMPORT(int) PyList_Append(PyObject *, PyObject *);
! extern DL_IMPORT(PyObject *) PyList_GetSlice(PyObject *, int, int);
! extern DL_IMPORT(int) PyList_SetSlice(PyObject *, int, int, PyObject *);
! extern DL_IMPORT(int) PyList_Sort(PyObject *);
! extern DL_IMPORT(int) PyList_Reverse(PyObject *);
! extern DL_IMPORT(PyObject *) PyList_AsTuple(PyObject *);
  
  /* Macro, trading safety for speed */
--- 25,44 ----
  } PyListObject;
  
! PyAPI_DATA(PyTypeObject) PyList_Type;
  
  #define PyList_Check(op) PyObject_TypeCheck(op, &PyList_Type)
  #define PyList_CheckExact(op) ((op)->ob_type == &PyList_Type)
  
! PyAPI_FUNC(PyObject *) PyList_New(int size);
! PyAPI_FUNC(int) PyList_Size(PyObject *);
! PyAPI_FUNC(PyObject *) PyList_GetItem(PyObject *, int);
! PyAPI_FUNC(int) PyList_SetItem(PyObject *, int, PyObject *);
! PyAPI_FUNC(int) PyList_Insert(PyObject *, int, PyObject *);
! PyAPI_FUNC(int) PyList_Append(PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyList_GetSlice(PyObject *, int, int);
! PyAPI_FUNC(int) PyList_SetSlice(PyObject *, int, int, PyObject *);
! PyAPI_FUNC(int) PyList_Sort(PyObject *);
! PyAPI_FUNC(int) PyList_Reverse(PyObject *);
! PyAPI_FUNC(PyObject *) PyList_AsTuple(PyObject *);
  
  /* Macro, trading safety for speed */

Index: longintrepr.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/longintrepr.h,v
retrieving revision 2.13
retrieving revision 2.14
diff -C2 -d -r2.13 -r2.14
*** longintrepr.h	2 Mar 2002 04:33:09 -0000	2.13
--- longintrepr.h	12 Aug 2002 07:21:57 -0000	2.14
***************
*** 48,55 ****
  };
  
! DL_IMPORT(PyLongObject *) _PyLong_New(int);
  
  /* Return a copy of src. */
! DL_IMPORT(PyObject *) _PyLong_Copy(PyLongObject *src);
  
  #ifdef __cplusplus
--- 48,55 ----
  };
  
! PyAPI_FUNC(PyLongObject *) _PyLong_New(int);
  
  /* Return a copy of src. */
! PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src);
  
  #ifdef __cplusplus

Index: longobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/longobject.h,v
retrieving revision 2.25
retrieving revision 2.26
diff -C2 -d -r2.25 -r2.26
*** longobject.h	12 Jul 2002 05:01:20 -0000	2.25
--- longobject.h	12 Aug 2002 07:21:57 -0000	2.26
***************
*** 10,23 ****
  typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
  
! extern DL_IMPORT(PyTypeObject) PyLong_Type;
  
  #define PyLong_Check(op) PyObject_TypeCheck(op, &PyLong_Type)
  #define PyLong_CheckExact(op) ((op)->ob_type == &PyLong_Type)
  
! extern DL_IMPORT(PyObject *) PyLong_FromLong(long);
! extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLong(unsigned long);
! extern DL_IMPORT(PyObject *) PyLong_FromDouble(double);
! extern DL_IMPORT(long) PyLong_AsLong(PyObject *);
! extern DL_IMPORT(unsigned long) PyLong_AsUnsignedLong(PyObject *);
  
  /* _PyLong_AsScaledDouble returns a double x and an exponent e such that
--- 10,23 ----
  typedef struct _longobject PyLongObject; /* Revealed in longintrepr.h */
  
! PyAPI_DATA(PyTypeObject) PyLong_Type;
  
  #define PyLong_Check(op) PyObject_TypeCheck(op, &PyLong_Type)
  #define PyLong_CheckExact(op) ((op)->ob_type == &PyLong_Type)
  
! PyAPI_FUNC(PyObject *) PyLong_FromLong(long);
! PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLong(unsigned long);
! PyAPI_FUNC(PyObject *) PyLong_FromDouble(double);
! PyAPI_FUNC(long) PyLong_AsLong(PyObject *);
! PyAPI_FUNC(unsigned long) PyLong_AsUnsignedLong(PyObject *);
  
  /* _PyLong_AsScaledDouble returns a double x and an exponent e such that
***************
*** 27,46 ****
     be multiplied by SHIFT!  There may not be enough room in an int to store
     e*SHIFT directly. */
! extern DL_IMPORT(double) _PyLong_AsScaledDouble(PyObject *vv, int *e);
  
! extern DL_IMPORT(double) PyLong_AsDouble(PyObject *);
! extern DL_IMPORT(PyObject *) PyLong_FromVoidPtr(void *);
! extern DL_IMPORT(void *) PyLong_AsVoidPtr(PyObject *);
  
  #ifdef HAVE_LONG_LONG
! extern DL_IMPORT(PyObject *) PyLong_FromLongLong(LONG_LONG);
! extern DL_IMPORT(PyObject *) PyLong_FromUnsignedLongLong(unsigned LONG_LONG);
! extern DL_IMPORT(LONG_LONG) PyLong_AsLongLong(PyObject *);
! extern DL_IMPORT(unsigned LONG_LONG) PyLong_AsUnsignedLongLong(PyObject *);
  #endif /* HAVE_LONG_LONG */
  
! DL_IMPORT(PyObject *) PyLong_FromString(char *, char **, int);
  #ifdef Py_USING_UNICODE
! DL_IMPORT(PyObject *) PyLong_FromUnicode(Py_UNICODE*, int, int);
  #endif
  
--- 27,46 ----
     be multiplied by SHIFT!  There may not be enough room in an int to store
     e*SHIFT directly. */
! PyAPI_FUNC(double) _PyLong_AsScaledDouble(PyObject *vv, int *e);
  
! PyAPI_FUNC(double) PyLong_AsDouble(PyObject *);
! PyAPI_FUNC(PyObject *) PyLong_FromVoidPtr(void *);
! PyAPI_FUNC(void *) PyLong_AsVoidPtr(PyObject *);
  
  #ifdef HAVE_LONG_LONG
! PyAPI_FUNC(PyObject *) PyLong_FromLongLong(LONG_LONG);
! PyAPI_FUNC(PyObject *) PyLong_FromUnsignedLongLong(unsigned LONG_LONG);
! PyAPI_FUNC(LONG_LONG) PyLong_AsLongLong(PyObject *);
! PyAPI_FUNC(unsigned LONG_LONG) PyLong_AsUnsignedLongLong(PyObject *);
  #endif /* HAVE_LONG_LONG */
  
! PyAPI_FUNC(PyObject *) PyLong_FromString(char *, char **, int);
  #ifdef Py_USING_UNICODE
! PyAPI_FUNC(PyObject *) PyLong_FromUnicode(Py_UNICODE*, int, int);
  #endif
  
***************
*** 58,62 ****
       enough memory to create the Python long.
  */
! extern DL_IMPORT(PyObject *) _PyLong_FromByteArray(
  	const unsigned char* bytes, size_t n,
  	int little_endian, int is_signed);
--- 58,62 ----
       enough memory to create the Python long.
  */
! PyAPI_FUNC(PyObject *) _PyLong_FromByteArray(
  	const unsigned char* bytes, size_t n,
  	int little_endian, int is_signed);
***************
*** 81,85 ****
       case, but bytes holds the least-signficant n bytes of the true value.
  */
! extern DL_IMPORT(int) _PyLong_AsByteArray(PyLongObject* v,
  	unsigned char* bytes, size_t n,
  	int little_endian, int is_signed);
--- 81,85 ----
       case, but bytes holds the least-signficant n bytes of the true value.
  */
! PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
  	unsigned char* bytes, size_t n,
  	int little_endian, int is_signed);

Index: marshal.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/marshal.h,v
retrieving revision 2.11
retrieving revision 2.12
diff -C2 -d -r2.11 -r2.12
*** marshal.h	28 Jan 2001 00:27:39 -0000	2.11
--- marshal.h	12 Aug 2002 07:21:57 -0000	2.12
***************
*** 8,21 ****
  #endif
  
! DL_IMPORT(void) PyMarshal_WriteLongToFile(long, FILE *);
! DL_IMPORT(void) PyMarshal_WriteShortToFile(int, FILE *);
! DL_IMPORT(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *);
! DL_IMPORT(PyObject *) PyMarshal_WriteObjectToString(PyObject *);
  
! DL_IMPORT(long) PyMarshal_ReadLongFromFile(FILE *);
! DL_IMPORT(int) PyMarshal_ReadShortFromFile(FILE *);
! DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
! DL_IMPORT(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
! DL_IMPORT(PyObject *) PyMarshal_ReadObjectFromString(char *, int);
  
  #ifdef __cplusplus
--- 8,21 ----
  #endif
  
! PyAPI_FUNC(void) PyMarshal_WriteLongToFile(long, FILE *);
! PyAPI_FUNC(void) PyMarshal_WriteShortToFile(int, FILE *);
! PyAPI_FUNC(void) PyMarshal_WriteObjectToFile(PyObject *, FILE *);
! PyAPI_FUNC(PyObject *) PyMarshal_WriteObjectToString(PyObject *);
  
! PyAPI_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
! PyAPI_FUNC(int) PyMarshal_ReadShortFromFile(FILE *);
! PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromFile(FILE *);
! PyAPI_FUNC(PyObject *) PyMarshal_ReadLastObjectFromFile(FILE *);
! PyAPI_FUNC(PyObject *) PyMarshal_ReadObjectFromString(char *, int);
  
  #ifdef __cplusplus

Index: methodobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/methodobject.h,v
retrieving revision 2.24
retrieving revision 2.25
diff -C2 -d -r2.24 -r2.25
*** methodobject.h	28 Mar 2002 05:33:33 -0000	2.24
--- methodobject.h	12 Aug 2002 07:21:57 -0000	2.25
***************
*** 8,12 ****
  #endif
  
! extern DL_IMPORT(PyTypeObject) PyCFunction_Type;
  
  #define PyCFunction_Check(op) ((op)->ob_type == &PyCFunction_Type)
--- 8,12 ----
  #endif
  
! PyAPI_DATA(PyTypeObject) PyCFunction_Type;
  
  #define PyCFunction_Check(op) ((op)->ob_type == &PyCFunction_Type)
***************
*** 17,23 ****
  typedef PyObject *(*PyNoArgsFunction)(PyObject *);
  
! extern DL_IMPORT(PyCFunction) PyCFunction_GetFunction(PyObject *);
! extern DL_IMPORT(PyObject *) PyCFunction_GetSelf(PyObject *);
! extern DL_IMPORT(int) PyCFunction_GetFlags(PyObject *);
  
  /* Macros for direct access to these values. Type checks are *not*
--- 17,23 ----
  typedef PyObject *(*PyNoArgsFunction)(PyObject *);
  
! PyAPI_FUNC(PyCFunction) PyCFunction_GetFunction(PyObject *);
! PyAPI_FUNC(PyObject *) PyCFunction_GetSelf(PyObject *);
! PyAPI_FUNC(int) PyCFunction_GetFlags(PyObject *);
  
  /* Macros for direct access to these values. Type checks are *not*
***************
*** 29,33 ****
  #define PyCFunction_GET_FLAGS(func) \
  	(((PyCFunctionObject *)func) -> m_ml -> ml_flags)
! extern DL_IMPORT(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *);
  
  struct PyMethodDef {
--- 29,33 ----
  #define PyCFunction_GET_FLAGS(func) \
  	(((PyCFunctionObject *)func) -> m_ml -> ml_flags)
! PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *);
  
  struct PyMethodDef {
***************
*** 39,45 ****
  typedef struct PyMethodDef PyMethodDef;
  
! extern DL_IMPORT(PyObject *) Py_FindMethod(PyMethodDef[], PyObject *, char *);
  
! extern DL_IMPORT(PyObject *) PyCFunction_New(PyMethodDef *, PyObject *);
  
  /* Flag passed to newmethodobject */
--- 39,45 ----
  typedef struct PyMethodDef PyMethodDef;
  
! PyAPI_FUNC(PyObject *) Py_FindMethod(PyMethodDef[], PyObject *, char *);
  
! PyAPI_FUNC(PyObject *) PyCFunction_New(PyMethodDef *, PyObject *);
  
  /* Flag passed to newmethodobject */
***************
*** 62,66 ****
  } PyMethodChain;
  
! extern DL_IMPORT(PyObject *) Py_FindMethodInChain(PyMethodChain *, PyObject *,
                                                    char *);
  
--- 62,66 ----
  } PyMethodChain;
  
! PyAPI_FUNC(PyObject *) Py_FindMethodInChain(PyMethodChain *, PyObject *,
                                                    char *);
  

Index: modsupport.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/modsupport.h,v
retrieving revision 2.38
retrieving revision 2.39
diff -C2 -d -r2.38 -r2.39
*** modsupport.h	23 Oct 2001 21:09:29 -0000	2.38
--- modsupport.h	12 Aug 2002 07:21:57 -0000	2.39
***************
*** 10,26 ****
  #include <stdarg.h>
  
! extern DL_IMPORT(int) PyArg_Parse(PyObject *, char *, ...);
! extern DL_IMPORT(int) PyArg_ParseTuple(PyObject *, char *, ...);
! extern DL_IMPORT(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
                                                    char *, char **, ...);
! extern DL_IMPORT(int) PyArg_UnpackTuple(PyObject *, char *, int, int, ...);
! extern DL_IMPORT(PyObject *) Py_BuildValue(char *, ...);
  
! extern DL_IMPORT(int) PyArg_VaParse(PyObject *, char *, va_list);
! extern DL_IMPORT(PyObject *) Py_VaBuildValue(char *, va_list);
  
! extern DL_IMPORT(int) PyModule_AddObject(PyObject *, char *, PyObject *);
! extern DL_IMPORT(int) PyModule_AddIntConstant(PyObject *, char *, long);
! extern DL_IMPORT(int) PyModule_AddStringConstant(PyObject *, char *, char *);
  
  #define PYTHON_API_VERSION 1011
--- 10,26 ----
  #include <stdarg.h>
  
! PyAPI_FUNC(int) PyArg_Parse(PyObject *, char *, ...);
! PyAPI_FUNC(int) PyArg_ParseTuple(PyObject *, char *, ...);
! PyAPI_FUNC(int) PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
                                                    char *, char **, ...);
! PyAPI_FUNC(int) PyArg_UnpackTuple(PyObject *, char *, int, int, ...);
! PyAPI_FUNC(PyObject *) Py_BuildValue(char *, ...);
  
! PyAPI_FUNC(int) PyArg_VaParse(PyObject *, char *, va_list);
! PyAPI_FUNC(PyObject *) Py_VaBuildValue(char *, va_list);
  
! PyAPI_FUNC(int) PyModule_AddObject(PyObject *, char *, PyObject *);
! PyAPI_FUNC(int) PyModule_AddIntConstant(PyObject *, char *, long);
! PyAPI_FUNC(int) PyModule_AddStringConstant(PyObject *, char *, char *);
  
  #define PYTHON_API_VERSION 1011
***************
*** 79,83 ****
  #endif
  
! extern DL_IMPORT(PyObject *) Py_InitModule4(char *name, PyMethodDef *methods,
                                              char *doc, PyObject *self,
                                              int apiver);
--- 79,83 ----
  #endif
  
! PyAPI_FUNC(PyObject *) Py_InitModule4(char *name, PyMethodDef *methods,
                                              char *doc, PyObject *self,
                                              int apiver);
***************
*** 91,95 ****
  		       PYTHON_API_VERSION)
  
! extern DL_IMPORT(char *) _Py_PackageContext;
  
  #ifdef __cplusplus
--- 91,95 ----
  		       PYTHON_API_VERSION)
  
! PyAPI_DATA(char *) _Py_PackageContext;
  
  #ifdef __cplusplus

Index: moduleobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/moduleobject.h,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** moduleobject.h	13 Sep 2001 05:38:55 -0000	2.19
--- moduleobject.h	12 Aug 2002 07:21:57 -0000	2.20
***************
*** 8,21 ****
  #endif
  
! extern DL_IMPORT(PyTypeObject) PyModule_Type;
  
  #define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type)
  #define PyModule_CheckExact(op) ((op)->ob_type == &PyModule_Type)
  
! extern DL_IMPORT(PyObject *) PyModule_New(char *);
! extern DL_IMPORT(PyObject *) PyModule_GetDict(PyObject *);
! extern DL_IMPORT(char *) PyModule_GetName(PyObject *);
! extern DL_IMPORT(char *) PyModule_GetFilename(PyObject *);
! extern DL_IMPORT(void) _PyModule_Clear(PyObject *);
  
  #ifdef __cplusplus
--- 8,21 ----
  #endif
  
! PyAPI_DATA(PyTypeObject) PyModule_Type;
  
  #define PyModule_Check(op) PyObject_TypeCheck(op, &PyModule_Type)
  #define PyModule_CheckExact(op) ((op)->ob_type == &PyModule_Type)
  
! PyAPI_FUNC(PyObject *) PyModule_New(char *);
! PyAPI_FUNC(PyObject *) PyModule_GetDict(PyObject *);
! PyAPI_FUNC(char *) PyModule_GetName(PyObject *);
! PyAPI_FUNC(char *) PyModule_GetFilename(PyObject *);
! PyAPI_FUNC(void) _PyModule_Clear(PyObject *);
  
  #ifdef __cplusplus

Index: node.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/node.h,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** node.h	15 Oct 2001 17:23:13 -0000	2.19
--- node.h	12 Aug 2002 07:21:57 -0000	2.20
***************
*** 16,23 ****
  } node;
  
! extern DL_IMPORT(node *) PyNode_New(int type);
! extern DL_IMPORT(int) PyNode_AddChild(node *n, int type,
                                        char *str, int lineno);
! extern DL_IMPORT(void) PyNode_Free(node *n);
  
  /* Node access functions */
--- 16,23 ----
  } node;
  
! PyAPI_FUNC(node *) PyNode_New(int type);
! PyAPI_FUNC(int) PyNode_AddChild(node *n, int type,
                                        char *str, int lineno);
! PyAPI_FUNC(void) PyNode_Free(node *n);
  
  /* Node access functions */
***************
*** 30,34 ****
  #define REQ(n, type) assert(TYPE(n) == (type))
  
! extern DL_IMPORT(void) PyNode_ListTree(node *);
  
  #ifdef __cplusplus
--- 30,34 ----
  #define REQ(n, type) assert(TYPE(n) == (type))
  
! PyAPI_FUNC(void) PyNode_ListTree(node *);
  
  #ifdef __cplusplus

Index: objimpl.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/objimpl.h,v
retrieving revision 2.56
retrieving revision 2.57
diff -C2 -d -r2.56 -r2.57
*** objimpl.h	7 Jul 2002 03:59:33 -0000	2.56
--- objimpl.h	12 Aug 2002 07:21:57 -0000	2.57
***************
*** 95,101 ****
     the raw memory.
  */
! extern DL_IMPORT(void *) PyObject_Malloc(size_t);
! extern DL_IMPORT(void *) PyObject_Realloc(void *, size_t);
! extern DL_IMPORT(void) PyObject_Free(void *);
  
  
--- 95,101 ----
     the raw memory.
  */
! PyAPI_FUNC(void *) PyObject_Malloc(size_t);
! PyAPI_FUNC(void *) PyObject_Realloc(void *, size_t);
! PyAPI_FUNC(void) PyObject_Free(void *);
  
  
***************
*** 103,112 ****
  #ifdef WITH_PYMALLOC
  #ifdef PYMALLOC_DEBUG
! DL_IMPORT(void *) _PyObject_DebugMalloc(size_t nbytes);
! DL_IMPORT(void *) _PyObject_DebugRealloc(void *p, size_t nbytes);
! DL_IMPORT(void) _PyObject_DebugFree(void *p);
! DL_IMPORT(void) _PyObject_DebugDumpAddress(const void *p);
! DL_IMPORT(void) _PyObject_DebugCheckAddress(const void *p);
! DL_IMPORT(void) _PyObject_DebugMallocStats(void);
  #define PyObject_MALLOC		_PyObject_DebugMalloc
  #define PyObject_Malloc		_PyObject_DebugMalloc
--- 103,112 ----
  #ifdef WITH_PYMALLOC
  #ifdef PYMALLOC_DEBUG
! PyAPI_FUNC(void *) _PyObject_DebugMalloc(size_t nbytes);
! PyAPI_FUNC(void *) _PyObject_DebugRealloc(void *p, size_t nbytes);
! PyAPI_FUNC(void) _PyObject_DebugFree(void *p);
! PyAPI_FUNC(void) _PyObject_DebugDumpAddress(const void *p);
! PyAPI_FUNC(void) _PyObject_DebugCheckAddress(const void *p);
! PyAPI_FUNC(void) _PyObject_DebugMallocStats(void);
  #define PyObject_MALLOC		_PyObject_DebugMalloc
  #define PyObject_Malloc		_PyObject_DebugMalloc
***************
*** 145,153 ****
  
  /* Functions */
! extern DL_IMPORT(PyObject *) PyObject_Init(PyObject *, PyTypeObject *);
! extern DL_IMPORT(PyVarObject *) PyObject_InitVar(PyVarObject *,
                                                   PyTypeObject *, int);
! extern DL_IMPORT(PyObject *) _PyObject_New(PyTypeObject *);
! extern DL_IMPORT(PyVarObject *) _PyObject_NewVar(PyTypeObject *, int);
  
  #define PyObject_New(type, typeobj) \
--- 145,153 ----
  
  /* Functions */
! PyAPI_FUNC(PyObject *) PyObject_Init(PyObject *, PyTypeObject *);
! PyAPI_FUNC(PyVarObject *) PyObject_InitVar(PyVarObject *,
                                                   PyTypeObject *, int);
! PyAPI_FUNC(PyObject *) _PyObject_New(PyTypeObject *);
! PyAPI_FUNC(PyVarObject *) _PyObject_NewVar(PyTypeObject *, int);
  
  #define PyObject_New(type, typeobj) \
***************
*** 236,240 ****
  	((o)->ob_type->tp_is_gc == NULL || (o)->ob_type->tp_is_gc(o)))
  
! extern DL_IMPORT(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, int);
  #define PyObject_GC_Resize(type, op, n) \
  		( (type *) _PyObject_GC_Resize((PyVarObject *)(op), (n)) )
--- 236,240 ----
  	((o)->ob_type->tp_is_gc == NULL || (o)->ob_type->tp_is_gc(o)))
  
! PyAPI_FUNC(PyVarObject *) _PyObject_GC_Resize(PyVarObject *, int);
  #define PyObject_GC_Resize(type, op, n) \
  		( (type *) _PyObject_GC_Resize((PyVarObject *)(op), (n)) )
***************
*** 287,296 ****
      } while (0);
  
! extern DL_IMPORT(PyObject *) _PyObject_GC_Malloc(size_t);
! extern DL_IMPORT(PyObject *) _PyObject_GC_New(PyTypeObject *);
! extern DL_IMPORT(PyVarObject *) _PyObject_GC_NewVar(PyTypeObject *, int);
! extern DL_IMPORT(void) PyObject_GC_Track(void *);
! extern DL_IMPORT(void) PyObject_GC_UnTrack(void *);
! extern DL_IMPORT(void) PyObject_GC_Del(void *);
  
  #define PyObject_GC_New(type, typeobj) \
--- 287,296 ----
      } while (0);
  
! PyAPI_FUNC(PyObject *) _PyObject_GC_Malloc(size_t);
! PyAPI_FUNC(PyObject *) _PyObject_GC_New(PyTypeObject *);
! PyAPI_FUNC(PyVarObject *) _PyObject_GC_NewVar(PyTypeObject *, int);
! PyAPI_FUNC(void) PyObject_GC_Track(void *);
! PyAPI_FUNC(void) PyObject_GC_UnTrack(void *);
! PyAPI_FUNC(void) PyObject_GC_Del(void *);
  
  #define PyObject_GC_New(type, typeobj) \

Index: parsetok.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/parsetok.h,v
retrieving revision 2.18
retrieving revision 2.19
diff -C2 -d -r2.18 -r2.19
*** parsetok.h	9 Jul 2002 09:23:26 -0000	2.18
--- parsetok.h	12 Aug 2002 07:21:57 -0000	2.19
***************
*** 22,37 ****
  #endif
  
! extern DL_IMPORT(node *) PyParser_ParseString(char *, grammar *, int,
                                                perrdetail *);
! extern DL_IMPORT(node *) PyParser_ParseFile (FILE *, char *, grammar *, int,
                                               char *, char *, perrdetail *);
  
! extern DL_IMPORT(node *) PyParser_ParseStringFlags(char *, grammar *, int,
                                                perrdetail *, int);
! extern DL_IMPORT(node *) PyParser_ParseFileFlags(FILE *, char *, grammar *,
  						 int, char *, char *,
  						 perrdetail *, int);
  
! extern DL_IMPORT(node *) PyParser_ParseStringFlagsFilename(char *,
  					      char *,
  					      grammar *, int,
--- 22,37 ----
  #endif
  
! PyAPI_FUNC(node *) PyParser_ParseString(char *, grammar *, int,
                                                perrdetail *);
! PyAPI_FUNC(node *) PyParser_ParseFile (FILE *, char *, grammar *, int,
                                               char *, char *, perrdetail *);
  
! PyAPI_FUNC(node *) PyParser_ParseStringFlags(char *, grammar *, int,
                                                perrdetail *, int);
! PyAPI_FUNC(node *) PyParser_ParseFileFlags(FILE *, char *, grammar *,
  						 int, char *, char *,
  						 perrdetail *, int);
  
! PyAPI_FUNC(node *) PyParser_ParseStringFlagsFilename(char *,
  					      char *,
  					      grammar *, int,

Index: pgenheaders.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pgenheaders.h,v
retrieving revision 2.28
retrieving revision 2.29
diff -C2 -d -r2.28 -r2.29
*** pgenheaders.h	22 Apr 2002 02:33:27 -0000	2.28
--- pgenheaders.h	12 Aug 2002 07:21:57 -0000	2.29
***************
*** 10,16 ****
  #include "Python.h"
  
! DL_IMPORT(void) PySys_WriteStdout(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
! DL_IMPORT(void) PySys_WriteStderr(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
  
--- 10,16 ----
  #include "Python.h"
  
! PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
! PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
  

Index: pyerrors.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pyerrors.h,v
retrieving revision 2.55
retrieving revision 2.56
diff -C2 -d -r2.55 -r2.56
*** pyerrors.h	29 Jul 2002 14:27:40 -0000	2.55
--- pyerrors.h	12 Aug 2002 07:21:57 -0000	2.56
***************
*** 8,95 ****
  /* Error handling definitions */
  
! DL_IMPORT(void) PyErr_SetNone(PyObject *);
! DL_IMPORT(void) PyErr_SetObject(PyObject *, PyObject *);
! DL_IMPORT(void) PyErr_SetString(PyObject *, const char *);
! DL_IMPORT(PyObject *) PyErr_Occurred(void);
! DL_IMPORT(void) PyErr_Clear(void);
! DL_IMPORT(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
! DL_IMPORT(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
  
  /* Error testing and normalization */
! DL_IMPORT(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
! DL_IMPORT(int) PyErr_ExceptionMatches(PyObject *);
! DL_IMPORT(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
  
  
  /* Predefined exceptions */
  
! extern DL_IMPORT(PyObject *) PyExc_Exception;
! extern DL_IMPORT(PyObject *) PyExc_StopIteration;
! extern DL_IMPORT(PyObject *) PyExc_StandardError;
! extern DL_IMPORT(PyObject *) PyExc_ArithmeticError;
! extern DL_IMPORT(PyObject *) PyExc_LookupError;
  
! extern DL_IMPORT(PyObject *) PyExc_AssertionError;
! extern DL_IMPORT(PyObject *) PyExc_AttributeError;
! extern DL_IMPORT(PyObject *) PyExc_EOFError;
! extern DL_IMPORT(PyObject *) PyExc_FloatingPointError;
! extern DL_IMPORT(PyObject *) PyExc_EnvironmentError;
! extern DL_IMPORT(PyObject *) PyExc_IOError;
! extern DL_IMPORT(PyObject *) PyExc_OSError;
! extern DL_IMPORT(PyObject *) PyExc_ImportError;
! extern DL_IMPORT(PyObject *) PyExc_IndexError;
! extern DL_IMPORT(PyObject *) PyExc_KeyError;
! extern DL_IMPORT(PyObject *) PyExc_KeyboardInterrupt;
! extern DL_IMPORT(PyObject *) PyExc_MemoryError;
! extern DL_IMPORT(PyObject *) PyExc_NameError;
! extern DL_IMPORT(PyObject *) PyExc_OverflowError;
! extern DL_IMPORT(PyObject *) PyExc_RuntimeError;
! extern DL_IMPORT(PyObject *) PyExc_NotImplementedError;
! extern DL_IMPORT(PyObject *) PyExc_SyntaxError;
! extern DL_IMPORT(PyObject *) PyExc_IndentationError;
! extern DL_IMPORT(PyObject *) PyExc_TabError;
! extern DL_IMPORT(PyObject *) PyExc_ReferenceError;
! extern DL_IMPORT(PyObject *) PyExc_SystemError;
! extern DL_IMPORT(PyObject *) PyExc_SystemExit;
! extern DL_IMPORT(PyObject *) PyExc_TypeError;
! extern DL_IMPORT(PyObject *) PyExc_UnboundLocalError;
! extern DL_IMPORT(PyObject *) PyExc_UnicodeError;
! extern DL_IMPORT(PyObject *) PyExc_ValueError;
! extern DL_IMPORT(PyObject *) PyExc_ZeroDivisionError;
  #ifdef MS_WINDOWS
! extern DL_IMPORT(PyObject *) PyExc_WindowsError;
  #endif
  
! extern DL_IMPORT(PyObject *) PyExc_MemoryErrorInst;
  
  /* Predefined warning categories */
! extern DL_IMPORT(PyObject *) PyExc_Warning;
! extern DL_IMPORT(PyObject *) PyExc_UserWarning;
! extern DL_IMPORT(PyObject *) PyExc_DeprecationWarning;
! extern DL_IMPORT(PyObject *) PyExc_PendingDeprecationWarning;
! extern DL_IMPORT(PyObject *) PyExc_SyntaxWarning;
! extern DL_IMPORT(PyObject *) PyExc_OverflowWarning;
! extern DL_IMPORT(PyObject *) PyExc_RuntimeWarning;
  
  
  /* Convenience functions */
  
! extern DL_IMPORT(int) PyErr_BadArgument(void);
! extern DL_IMPORT(PyObject *) PyErr_NoMemory(void);
! extern DL_IMPORT(PyObject *) PyErr_SetFromErrno(PyObject *);
! extern DL_IMPORT(PyObject *) PyErr_SetFromErrnoWithFilename(PyObject *, char *);
! extern DL_IMPORT(PyObject *) PyErr_Format(PyObject *, const char *, ...)
  			__attribute__((format(printf, 2, 3)));
  #ifdef MS_WINDOWS
! extern DL_IMPORT(PyObject *) PyErr_SetFromWindowsErrWithFilename(int, const char *);
! extern DL_IMPORT(PyObject *) PyErr_SetFromWindowsErr(int);
! extern DL_IMPORT(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
  	PyObject *,int, const char *);
! extern DL_IMPORT(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
  #endif
  
  /* Export the old function so that the existing API remains available: */
! extern DL_IMPORT(void) PyErr_BadInternalCall(void);
! extern DL_IMPORT(void) _PyErr_BadInternalCall(char *filename, int lineno);
  /* Mask the old API with a call to the new API for code compiled under
     Python 2.0: */
--- 8,95 ----
  /* Error handling definitions */
  
! PyAPI_FUNC(void) PyErr_SetNone(PyObject *);
! PyAPI_FUNC(void) PyErr_SetObject(PyObject *, PyObject *);
! PyAPI_FUNC(void) PyErr_SetString(PyObject *, const char *);
! PyAPI_FUNC(PyObject *) PyErr_Occurred(void);
! PyAPI_FUNC(void) PyErr_Clear(void);
! PyAPI_FUNC(void) PyErr_Fetch(PyObject **, PyObject **, PyObject **);
! PyAPI_FUNC(void) PyErr_Restore(PyObject *, PyObject *, PyObject *);
  
  /* Error testing and normalization */
! PyAPI_FUNC(int) PyErr_GivenExceptionMatches(PyObject *, PyObject *);
! PyAPI_FUNC(int) PyErr_ExceptionMatches(PyObject *);
! PyAPI_FUNC(void) PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);
  
  
  /* Predefined exceptions */
  
! PyAPI_DATA(PyObject *) PyExc_Exception;
! PyAPI_DATA(PyObject *) PyExc_StopIteration;
! PyAPI_DATA(PyObject *) PyExc_StandardError;
! PyAPI_DATA(PyObject *) PyExc_ArithmeticError;
! PyAPI_DATA(PyObject *) PyExc_LookupError;
  
! PyAPI_DATA(PyObject *) PyExc_AssertionError;
! PyAPI_DATA(PyObject *) PyExc_AttributeError;
! PyAPI_DATA(PyObject *) PyExc_EOFError;
! PyAPI_DATA(PyObject *) PyExc_FloatingPointError;
! PyAPI_DATA(PyObject *) PyExc_EnvironmentError;
! PyAPI_DATA(PyObject *) PyExc_IOError;
! PyAPI_DATA(PyObject *) PyExc_OSError;
! PyAPI_DATA(PyObject *) PyExc_ImportError;
! PyAPI_DATA(PyObject *) PyExc_IndexError;
! PyAPI_DATA(PyObject *) PyExc_KeyError;
! PyAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
! PyAPI_DATA(PyObject *) PyExc_MemoryError;
! PyAPI_DATA(PyObject *) PyExc_NameError;
! PyAPI_DATA(PyObject *) PyExc_OverflowError;
! PyAPI_DATA(PyObject *) PyExc_RuntimeError;
! PyAPI_DATA(PyObject *) PyExc_NotImplementedError;
! PyAPI_DATA(PyObject *) PyExc_SyntaxError;
! PyAPI_DATA(PyObject *) PyExc_IndentationError;
! PyAPI_DATA(PyObject *) PyExc_TabError;
! PyAPI_DATA(PyObject *) PyExc_ReferenceError;
! PyAPI_DATA(PyObject *) PyExc_SystemError;
! PyAPI_DATA(PyObject *) PyExc_SystemExit;
! PyAPI_DATA(PyObject *) PyExc_TypeError;
! PyAPI_DATA(PyObject *) PyExc_UnboundLocalError;
! PyAPI_DATA(PyObject *) PyExc_UnicodeError;
! PyAPI_DATA(PyObject *) PyExc_ValueError;
! PyAPI_DATA(PyObject *) PyExc_ZeroDivisionError;
  #ifdef MS_WINDOWS
! PyAPI_DATA(PyObject *) PyExc_WindowsError;
  #endif
  
! PyAPI_DATA(PyObject *) PyExc_MemoryErrorInst;
  
  /* Predefined warning categories */
! PyAPI_DATA(PyObject *) PyExc_Warning;
! PyAPI_DATA(PyObject *) PyExc_UserWarning;
! PyAPI_DATA(PyObject *) PyExc_DeprecationWarning;
! PyAPI_DATA(PyObject *) PyExc_PendingDeprecationWarning;
! PyAPI_DATA(PyObject *) PyExc_SyntaxWarning;
! PyAPI_DATA(PyObject *) PyExc_OverflowWarning;
! PyAPI_DATA(PyObject *) PyExc_RuntimeWarning;
  
  
  /* Convenience functions */
  
! PyAPI_FUNC(int) PyErr_BadArgument(void);
! PyAPI_FUNC(PyObject *) PyErr_NoMemory(void);
! PyAPI_FUNC(PyObject *) PyErr_SetFromErrno(PyObject *);
! PyAPI_FUNC(PyObject *) PyErr_SetFromErrnoWithFilename(PyObject *, char *);
! PyAPI_FUNC(PyObject *) PyErr_Format(PyObject *, const char *, ...)
  			__attribute__((format(printf, 2, 3)));
  #ifdef MS_WINDOWS
! PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename(int, const char *);
! PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErr(int);
! PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErrWithFilename(
  	PyObject *,int, const char *);
! PyAPI_FUNC(PyObject *) PyErr_SetExcFromWindowsErr(PyObject *, int);
  #endif
  
  /* Export the old function so that the existing API remains available: */
! PyAPI_FUNC(void) PyErr_BadInternalCall(void);
! PyAPI_FUNC(void) _PyErr_BadInternalCall(char *filename, int lineno);
  /* Mask the old API with a call to the new API for code compiled under
     Python 2.0: */
***************
*** 97,116 ****
  
  /* Function to create a new exception */
! DL_IMPORT(PyObject *) PyErr_NewException(char *name, PyObject *base,
                                           PyObject *dict);
! extern DL_IMPORT(void) PyErr_WriteUnraisable(PyObject *);
  
  /* Issue a warning or exception */
! extern DL_IMPORT(int) PyErr_Warn(PyObject *, char *);
! extern DL_IMPORT(int) PyErr_WarnExplicit(PyObject *, char *,
  					 char *, int, char *, PyObject *);
  
  /* In sigcheck.c or signalmodule.c */
! extern DL_IMPORT(int) PyErr_CheckSignals(void);
! extern DL_IMPORT(void) PyErr_SetInterrupt(void);
  
  /* Support for adding program text to SyntaxErrors */
! extern DL_IMPORT(void) PyErr_SyntaxLocation(char *, int);
! extern DL_IMPORT(PyObject *) PyErr_ProgramText(char *, int);
  
  /* These APIs aren't really part of the error implementation, but
--- 97,116 ----
  
  /* Function to create a new exception */
! PyAPI_FUNC(PyObject *) PyErr_NewException(char *name, PyObject *base,
                                           PyObject *dict);
! PyAPI_FUNC(void) PyErr_WriteUnraisable(PyObject *);
  
  /* Issue a warning or exception */
! PyAPI_FUNC(int) PyErr_Warn(PyObject *, char *);
! PyAPI_FUNC(int) PyErr_WarnExplicit(PyObject *, char *,
  					 char *, int, char *, PyObject *);
  
  /* In sigcheck.c or signalmodule.c */
! PyAPI_FUNC(int) PyErr_CheckSignals(void);
! PyAPI_FUNC(void) PyErr_SetInterrupt(void);
  
  /* Support for adding program text to SyntaxErrors */
! PyAPI_FUNC(void) PyErr_SyntaxLocation(char *, int);
! PyAPI_FUNC(PyObject *) PyErr_ProgramText(char *, int);
  
  /* These APIs aren't really part of the error implementation, but
***************
*** 129,135 ****
  
  #include <stdarg.h>
! extern DL_IMPORT(int) PyOS_snprintf(char *str, size_t size, const char  *format, ...)
  			__attribute__((format(printf, 3, 4)));
! extern DL_IMPORT(int) PyOS_vsnprintf(char *str, size_t size, const char  *format, va_list va)
  			__attribute__((format(printf, 3, 0)));
  
--- 129,135 ----
  
  #include <stdarg.h>
! PyAPI_FUNC(int) PyOS_snprintf(char *str, size_t size, const char  *format, ...)
  			__attribute__((format(printf, 3, 4)));
! PyAPI_FUNC(int) PyOS_vsnprintf(char *str, size_t size, const char  *format, va_list va)
  			__attribute__((format(printf, 3, 0)));
  

Index: pygetopt.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pygetopt.h,v
retrieving revision 2.1
retrieving revision 2.2
diff -C2 -d -r2.1 -r2.2
*** pygetopt.h	3 Nov 2000 08:18:37 -0000	2.1
--- pygetopt.h	12 Aug 2002 07:21:57 -0000	2.2
***************
*** 6,14 ****
  #endif
  
! extern DL_IMPORT(int) _PyOS_opterr;
! extern DL_IMPORT(int) _PyOS_optind;
! extern DL_IMPORT(char *) _PyOS_optarg;
  
! DL_IMPORT(int) _PyOS_GetOpt(int argc, char **argv, char *optstring);
  
  #ifdef __cplusplus
--- 6,14 ----
  #endif
  
! PyAPI_DATA(int) _PyOS_opterr;
! PyAPI_DATA(int) _PyOS_optind;
! PyAPI_DATA(char *) _PyOS_optarg;
  
! PyAPI_FUNC(int) _PyOS_GetOpt(int argc, char **argv, char *optstring);
  
  #ifdef __cplusplus

Index: pymem.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pymem.h,v
retrieving revision 2.15
retrieving revision 2.16
diff -C2 -d -r2.15 -r2.16
*** pymem.h	28 Apr 2002 04:11:46 -0000	2.15
--- pymem.h	12 Aug 2002 07:21:57 -0000	2.16
***************
*** 48,54 ****
  */
  
! extern DL_IMPORT(void *) PyMem_Malloc(size_t);
! extern DL_IMPORT(void *) PyMem_Realloc(void *, size_t);
! extern DL_IMPORT(void) PyMem_Free(void *);
  
  /* Starting from Python 1.6, the wrappers Py_{Malloc,Realloc,Free} are
--- 48,54 ----
  */
  
! PyAPI_FUNC(void *) PyMem_Malloc(size_t);
! PyAPI_FUNC(void *) PyMem_Realloc(void *, size_t);
! PyAPI_FUNC(void) PyMem_Free(void *);
  
  /* Starting from Python 1.6, the wrappers Py_{Malloc,Realloc,Free} are

Index: pystate.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pystate.h,v
retrieving revision 2.18
retrieving revision 2.19
diff -C2 -d -r2.18 -r2.19
*** pystate.h	19 Jul 2001 12:19:11 -0000	2.18
--- pystate.h	12 Aug 2002 07:21:57 -0000	2.19
***************
*** 75,97 ****
  
  
! DL_IMPORT(PyInterpreterState *) PyInterpreterState_New(void);
! DL_IMPORT(void) PyInterpreterState_Clear(PyInterpreterState *);
! DL_IMPORT(void) PyInterpreterState_Delete(PyInterpreterState *);
  
! DL_IMPORT(PyThreadState *) PyThreadState_New(PyInterpreterState *);
! DL_IMPORT(void) PyThreadState_Clear(PyThreadState *);
! DL_IMPORT(void) PyThreadState_Delete(PyThreadState *);
  #ifdef WITH_THREAD
! DL_IMPORT(void) PyThreadState_DeleteCurrent(void);
  #endif
  
! DL_IMPORT(PyThreadState *) PyThreadState_Get(void);
! DL_IMPORT(PyThreadState *) PyThreadState_Swap(PyThreadState *);
! DL_IMPORT(PyObject *) PyThreadState_GetDict(void);
  
  
  /* Variable and macro for in-line access to current thread state */
  
! extern DL_IMPORT(PyThreadState *) _PyThreadState_Current;
  
  #ifdef Py_DEBUG
--- 75,97 ----
  
  
! PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_New(void);
! PyAPI_FUNC(void) PyInterpreterState_Clear(PyInterpreterState *);
! PyAPI_FUNC(void) PyInterpreterState_Delete(PyInterpreterState *);
  
! PyAPI_FUNC(PyThreadState *) PyThreadState_New(PyInterpreterState *);
! PyAPI_FUNC(void) PyThreadState_Clear(PyThreadState *);
! PyAPI_FUNC(void) PyThreadState_Delete(PyThreadState *);
  #ifdef WITH_THREAD
! PyAPI_FUNC(void) PyThreadState_DeleteCurrent(void);
  #endif
  
! PyAPI_FUNC(PyThreadState *) PyThreadState_Get(void);
! PyAPI_FUNC(PyThreadState *) PyThreadState_Swap(PyThreadState *);
! PyAPI_FUNC(PyObject *) PyThreadState_GetDict(void);
  
  
  /* Variable and macro for in-line access to current thread state */
  
! PyAPI_DATA(PyThreadState *) _PyThreadState_Current;
  
  #ifdef Py_DEBUG
***************
*** 103,110 ****
  /* Routines for advanced debuggers, requested by David Beazley.
     Don't use unless you know what you are doing! */
! DL_IMPORT(PyInterpreterState *) PyInterpreterState_Head(void);
! DL_IMPORT(PyInterpreterState *) PyInterpreterState_Next(PyInterpreterState *);
! DL_IMPORT(PyThreadState *) PyInterpreterState_ThreadHead(PyInterpreterState *);
! DL_IMPORT(PyThreadState *) PyThreadState_Next(PyThreadState *);
  
  #ifdef __cplusplus
--- 103,110 ----
  /* Routines for advanced debuggers, requested by David Beazley.
     Don't use unless you know what you are doing! */
! PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Head(void);
! PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Next(PyInterpreterState *);
! PyAPI_FUNC(PyThreadState *) PyInterpreterState_ThreadHead(PyInterpreterState *);
! PyAPI_FUNC(PyThreadState *) PyThreadState_Next(PyThreadState *);
  
  #ifdef __cplusplus

Index: pythonrun.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pythonrun.h,v
retrieving revision 2.52
retrieving revision 2.53
diff -C2 -d -r2.52 -r2.53
*** pythonrun.h	2 Aug 2002 02:27:12 -0000	2.52
--- pythonrun.h	12 Aug 2002 07:21:57 -0000	2.53
***************
*** 15,81 ****
  } PyCompilerFlags;
  
! DL_IMPORT(void) Py_SetProgramName(char *);
! DL_IMPORT(char *) Py_GetProgramName(void);
  
! DL_IMPORT(void) Py_SetPythonHome(char *);
! DL_IMPORT(char *) Py_GetPythonHome(void);
  
! DL_IMPORT(void) Py_Initialize(void);
! DL_IMPORT(void) Py_Finalize(void);
! DL_IMPORT(int) Py_IsInitialized(void);
! DL_IMPORT(PyThreadState *) Py_NewInterpreter(void);
! DL_IMPORT(void) Py_EndInterpreter(PyThreadState *);
  
! DL_IMPORT(int) PyRun_AnyFile(FILE *, char *);
! DL_IMPORT(int) PyRun_AnyFileEx(FILE *, char *, int);
  
! DL_IMPORT(int) PyRun_AnyFileFlags(FILE *, char *, PyCompilerFlags *);
! DL_IMPORT(int) PyRun_AnyFileExFlags(FILE *, char *, int, PyCompilerFlags *);
  
! DL_IMPORT(int) PyRun_SimpleString(char *);
! DL_IMPORT(int) PyRun_SimpleStringFlags(char *, PyCompilerFlags *);
! DL_IMPORT(int) PyRun_SimpleFile(FILE *, char *);
! DL_IMPORT(int) PyRun_SimpleFileEx(FILE *, char *, int);
! DL_IMPORT(int) PyRun_SimpleFileExFlags(FILE *, char *, int, PyCompilerFlags *);
! DL_IMPORT(int) PyRun_InteractiveOne(FILE *, char *);
! DL_IMPORT(int) PyRun_InteractiveOneFlags(FILE *, char *, PyCompilerFlags *);
! DL_IMPORT(int) PyRun_InteractiveLoop(FILE *, char *);
! DL_IMPORT(int) PyRun_InteractiveLoopFlags(FILE *, char *, PyCompilerFlags *);
  
! DL_IMPORT(struct _node *) PyParser_SimpleParseString(char *, int);
! DL_IMPORT(struct _node *) PyParser_SimpleParseFile(FILE *, char *, int);
! DL_IMPORT(struct _node *) PyParser_SimpleParseStringFlags(char *, int, int);
! DL_IMPORT(struct _node *) PyParser_SimpleParseStringFlagsFilename(char *,
  								  char *,
  								  int,
  								  int);
! DL_IMPORT(struct _node *) PyParser_SimpleParseFileFlags(FILE *, char *,
  							int, int);
  
! DL_IMPORT(PyObject *) PyRun_String(char *, int, PyObject *, PyObject *);
! DL_IMPORT(PyObject *) PyRun_File(FILE *, char *, int, PyObject *, PyObject *);
! DL_IMPORT(PyObject *) PyRun_FileEx(FILE *, char *, int,
  				   PyObject *, PyObject *, int);
! DL_IMPORT(PyObject *) PyRun_StringFlags(char *, int, PyObject *, PyObject *,
  					PyCompilerFlags *);
! DL_IMPORT(PyObject *) PyRun_FileFlags(FILE *, char *, int, PyObject *, 
  				      PyObject *, PyCompilerFlags *);
! DL_IMPORT(PyObject *) PyRun_FileExFlags(FILE *, char *, int, PyObject *, 
  					PyObject *, int, PyCompilerFlags *);
  
! DL_IMPORT(PyObject *) Py_CompileString(char *, char *, int);
! DL_IMPORT(PyObject *) Py_CompileStringFlags(char *, char *, int,
  					    PyCompilerFlags *);
! DL_IMPORT(struct symtable *) Py_SymtableString(char *, char *, int);
  
! DL_IMPORT(void) PyErr_Print(void);
! DL_IMPORT(void) PyErr_PrintEx(int);
! DL_IMPORT(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
  
! DL_IMPORT(int) Py_AtExit(void (*func)(void));
  
! DL_IMPORT(void) Py_Exit(int);
  
! DL_IMPORT(int) Py_FdIsInteractive(FILE *, char *);
  
  /* Bootstrap */
--- 15,81 ----
  } PyCompilerFlags;
  
! PyAPI_FUNC(void) Py_SetProgramName(char *);
! PyAPI_FUNC(char *) Py_GetProgramName(void);
  
! PyAPI_FUNC(void) Py_SetPythonHome(char *);
! PyAPI_FUNC(char *) Py_GetPythonHome(void);
  
! PyAPI_FUNC(void) Py_Initialize(void);
! PyAPI_FUNC(void) Py_Finalize(void);
! PyAPI_FUNC(int) Py_IsInitialized(void);
! PyAPI_FUNC(PyThreadState *) Py_NewInterpreter(void);
! PyAPI_FUNC(void) Py_EndInterpreter(PyThreadState *);
  
! PyAPI_FUNC(int) PyRun_AnyFile(FILE *, char *);
! PyAPI_FUNC(int) PyRun_AnyFileEx(FILE *, char *, int);
  
! PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, char *, PyCompilerFlags *);
! PyAPI_FUNC(int) PyRun_AnyFileExFlags(FILE *, char *, int, PyCompilerFlags *);
  
! PyAPI_FUNC(int) PyRun_SimpleString(char *);
! PyAPI_FUNC(int) PyRun_SimpleStringFlags(char *, PyCompilerFlags *);
! PyAPI_FUNC(int) PyRun_SimpleFile(FILE *, char *);
! PyAPI_FUNC(int) PyRun_SimpleFileEx(FILE *, char *, int);
! PyAPI_FUNC(int) PyRun_SimpleFileExFlags(FILE *, char *, int, PyCompilerFlags *);
! PyAPI_FUNC(int) PyRun_InteractiveOne(FILE *, char *);
! PyAPI_FUNC(int) PyRun_InteractiveOneFlags(FILE *, char *, PyCompilerFlags *);
! PyAPI_FUNC(int) PyRun_InteractiveLoop(FILE *, char *);
! PyAPI_FUNC(int) PyRun_InteractiveLoopFlags(FILE *, char *, PyCompilerFlags *);
  
! PyAPI_FUNC(struct _node *) PyParser_SimpleParseString(char *, int);
! PyAPI_FUNC(struct _node *) PyParser_SimpleParseFile(FILE *, char *, int);
! PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlags(char *, int, int);
! PyAPI_FUNC(struct _node *) PyParser_SimpleParseStringFlagsFilename(char *,
  								  char *,
  								  int,
  								  int);
! PyAPI_FUNC(struct _node *) PyParser_SimpleParseFileFlags(FILE *, char *,
  							int, int);
  
! PyAPI_FUNC(PyObject *) PyRun_String(char *, int, PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyRun_File(FILE *, char *, int, PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) PyRun_FileEx(FILE *, char *, int,
  				   PyObject *, PyObject *, int);
! PyAPI_FUNC(PyObject *) PyRun_StringFlags(char *, int, PyObject *, PyObject *,
  					PyCompilerFlags *);
! PyAPI_FUNC(PyObject *) PyRun_FileFlags(FILE *, char *, int, PyObject *, 
  				      PyObject *, PyCompilerFlags *);
! PyAPI_FUNC(PyObject *) PyRun_FileExFlags(FILE *, char *, int, PyObject *, 
  					PyObject *, int, PyCompilerFlags *);
  
! PyAPI_FUNC(PyObject *) Py_CompileString(char *, char *, int);
! PyAPI_FUNC(PyObject *) Py_CompileStringFlags(char *, char *, int,
  					    PyCompilerFlags *);
! PyAPI_FUNC(struct symtable *) Py_SymtableString(char *, char *, int);
  
! PyAPI_FUNC(void) PyErr_Print(void);
! PyAPI_FUNC(void) PyErr_PrintEx(int);
! PyAPI_FUNC(void) PyErr_Display(PyObject *, PyObject *, PyObject *);
  
! PyAPI_FUNC(int) Py_AtExit(void (*func)(void));
  
! PyAPI_FUNC(void) Py_Exit(int);
  
! PyAPI_FUNC(int) Py_FdIsInteractive(FILE *, char *);
  
  /* Bootstrap */
***************
*** 96,102 ****
  
  /* Internal -- various one-time initializations */
! DL_IMPORT(PyObject *) _PyBuiltin_Init(void);
! DL_IMPORT(PyObject *) _PySys_Init(void);
! DL_IMPORT(void) _PyImport_Init(void);
  PyAPI_FUNC(void) _PyExc_Init(void);
  
--- 96,102 ----
  
  /* Internal -- various one-time initializations */
! PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void);
! PyAPI_FUNC(PyObject *) _PySys_Init(void);
! PyAPI_FUNC(void) _PyImport_Init(void);
  PyAPI_FUNC(void) _PyExc_Init(void);
  
***************
*** 114,120 ****
  
  /* Stuff with no proper home (yet) */
! DL_IMPORT(char *) PyOS_Readline(char *);
! extern DL_IMPORT(int) (*PyOS_InputHook)(void);
! extern DL_IMPORT(char) *(*PyOS_ReadlineFunctionPointer)(char *);
  
  /* Stack size, in "pointers" (so we get extra safety margins
--- 114,120 ----
  
  /* Stuff with no proper home (yet) */
! PyAPI_FUNC(char *) PyOS_Readline(char *);
! PyAPI_FUNC(int) (*PyOS_InputHook)(void);
! PyAPI_FUNC(char) *(*PyOS_ReadlineFunctionPointer)(char *);
  
  /* Stack size, in "pointers" (so we get extra safety margins
***************
*** 130,140 ****
  #ifdef USE_STACKCHECK
  /* Check that we aren't overflowing our stack */
! DL_IMPORT(int) PyOS_CheckStack(void);
  #endif
  
  /* Signals */
  typedef void (*PyOS_sighandler_t)(int);
! DL_IMPORT(PyOS_sighandler_t) PyOS_getsig(int);
! DL_IMPORT(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t);
  
  
--- 130,140 ----
  #ifdef USE_STACKCHECK
  /* Check that we aren't overflowing our stack */
! PyAPI_FUNC(int) PyOS_CheckStack(void);
  #endif
  
  /* Signals */
  typedef void (*PyOS_sighandler_t)(int);
! PyAPI_FUNC(PyOS_sighandler_t) PyOS_getsig(int);
! PyAPI_FUNC(PyOS_sighandler_t) PyOS_setsig(int, PyOS_sighandler_t);
  
  

Index: pythread.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/pythread.h,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** pythread.h	19 Jan 2002 22:02:54 -0000	2.19
--- pythread.h	12 Aug 2002 07:21:57 -0000	2.20
***************
*** 13,38 ****
  #endif
  
! DL_IMPORT(void) PyThread_init_thread(void);
! DL_IMPORT(long) PyThread_start_new_thread(void (*)(void *), void *);
! DL_IMPORT(void) PyThread_exit_thread(void);
! DL_IMPORT(void) PyThread__PyThread_exit_thread(void);
! DL_IMPORT(long) PyThread_get_thread_ident(void);
  
! DL_IMPORT(PyThread_type_lock) PyThread_allocate_lock(void);
! DL_IMPORT(void) PyThread_free_lock(PyThread_type_lock);
! DL_IMPORT(int) PyThread_acquire_lock(PyThread_type_lock, int);
  #define WAIT_LOCK	1
  #define NOWAIT_LOCK	0
! DL_IMPORT(void) PyThread_release_lock(PyThread_type_lock);
  
  #ifndef NO_EXIT_PROG
! DL_IMPORT(void) PyThread_exit_prog(int);
! DL_IMPORT(void) PyThread__PyThread_exit_prog(int);
  #endif
  
! DL_IMPORT(int) PyThread_create_key(void);
! DL_IMPORT(void) PyThread_delete_key(int);
! DL_IMPORT(int) PyThread_set_key_value(int, void *);
! DL_IMPORT(void *) PyThread_get_key_value(int);
  
  #ifdef __cplusplus
--- 13,38 ----
  #endif
  
! PyAPI_FUNC(void) PyThread_init_thread(void);
! PyAPI_FUNC(long) PyThread_start_new_thread(void (*)(void *), void *);
! PyAPI_FUNC(void) PyThread_exit_thread(void);
! PyAPI_FUNC(void) PyThread__PyThread_exit_thread(void);
! PyAPI_FUNC(long) PyThread_get_thread_ident(void);
  
! PyAPI_FUNC(PyThread_type_lock) PyThread_allocate_lock(void);
! PyAPI_FUNC(void) PyThread_free_lock(PyThread_type_lock);
! PyAPI_FUNC(int) PyThread_acquire_lock(PyThread_type_lock, int);
  #define WAIT_LOCK	1
  #define NOWAIT_LOCK	0
! PyAPI_FUNC(void) PyThread_release_lock(PyThread_type_lock);
  
  #ifndef NO_EXIT_PROG
! PyAPI_FUNC(void) PyThread_exit_prog(int);
! PyAPI_FUNC(void) PyThread__PyThread_exit_prog(int);
  #endif
  
! PyAPI_FUNC(int) PyThread_create_key(void);
! PyAPI_FUNC(void) PyThread_delete_key(int);
! PyAPI_FUNC(int) PyThread_set_key_value(int, void *);
! PyAPI_FUNC(void *) PyThread_get_key_value(int);
  
  #ifdef __cplusplus

Index: rangeobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/rangeobject.h,v
retrieving revision 2.18
retrieving revision 2.19
diff -C2 -d -r2.18 -r2.19
*** rangeobject.h	9 Jul 2001 12:30:54 -0000	2.18
--- rangeobject.h	12 Aug 2002 07:21:57 -0000	2.19
***************
*** 16,24 ****
  */
  
! extern DL_IMPORT(PyTypeObject) PyRange_Type;
  
  #define PyRange_Check(op) ((op)->ob_type == &PyRange_Type)
  
! extern DL_IMPORT(PyObject *) PyRange_New(long, long, long, int);
  
  #ifdef __cplusplus
--- 16,24 ----
  */
  
! PyAPI_DATA(PyTypeObject) PyRange_Type;
  
  #define PyRange_Check(op) ((op)->ob_type == &PyRange_Type)
  
! PyAPI_FUNC(PyObject *) PyRange_New(long, long, long, int);
  
  #ifdef __cplusplus

Index: sliceobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/sliceobject.h,v
retrieving revision 2.6
retrieving revision 2.7
diff -C2 -d -r2.6 -r2.7
*** sliceobject.h	11 Jun 2002 10:55:09 -0000	2.6
--- sliceobject.h	12 Aug 2002 07:21:57 -0000	2.7
***************
*** 7,11 ****
  /* The unique ellipsis object "..." */
  
! extern DL_IMPORT(PyObject) _Py_EllipsisObject; /* Don't use this directly */
  
  #define Py_Ellipsis (&_Py_EllipsisObject)
--- 7,11 ----
  /* The unique ellipsis object "..." */
  
! PyAPI_DATA(PyObject) _Py_EllipsisObject; /* Don't use this directly */
  
  #define Py_Ellipsis (&_Py_EllipsisObject)
***************
*** 25,37 ****
  } PySliceObject;
  
! extern DL_IMPORT(PyTypeObject) PySlice_Type;
  
  #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type)
  
! DL_IMPORT(PyObject *) PySlice_New(PyObject* start, PyObject* stop,
                                    PyObject* step);
! DL_IMPORT(int) PySlice_GetIndices(PySliceObject *r, int length,
                                    int *start, int *stop, int *step);
! DL_IMPORT(int) PySlice_GetIndicesEx(PySliceObject *r, int length,
  				    int *start, int *stop, 
  				    int *step, int *slicelength);
--- 25,37 ----
  } PySliceObject;
  
! PyAPI_DATA(PyTypeObject) PySlice_Type;
  
  #define PySlice_Check(op) ((op)->ob_type == &PySlice_Type)
  
! PyAPI_FUNC(PyObject *) PySlice_New(PyObject* start, PyObject* stop,
                                    PyObject* step);
! PyAPI_FUNC(int) PySlice_GetIndices(PySliceObject *r, int length,
                                    int *start, int *stop, int *step);
! PyAPI_FUNC(int) PySlice_GetIndicesEx(PySliceObject *r, int length,
  				    int *start, int *stop, 
  				    int *step, int *slicelength);

Index: stringobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/stringobject.h,v
retrieving revision 2.34
retrieving revision 2.35
diff -C2 -d -r2.34 -r2.35
*** stringobject.h	24 May 2002 19:01:57 -0000	2.34
--- stringobject.h	12 Aug 2002 07:21:57 -0000	2.35
***************
*** 40,68 ****
  } PyStringObject;
  
! extern DL_IMPORT(PyTypeObject) PyBaseString_Type;
! extern DL_IMPORT(PyTypeObject) PyString_Type;
  
  #define PyString_Check(op) PyObject_TypeCheck(op, &PyString_Type)
  #define PyString_CheckExact(op) ((op)->ob_type == &PyString_Type)
  
! extern DL_IMPORT(PyObject *) PyString_FromStringAndSize(const char *, int);
! extern DL_IMPORT(PyObject *) PyString_FromString(const char *);
! extern DL_IMPORT(PyObject *) PyString_FromFormatV(const char*, va_list)
  				__attribute__((format(printf, 1, 0)));
! extern DL_IMPORT(PyObject *) PyString_FromFormat(const char*, ...)
  				__attribute__((format(printf, 1, 2)));
! extern DL_IMPORT(int) PyString_Size(PyObject *);
! extern DL_IMPORT(char *) PyString_AsString(PyObject *);
! extern DL_IMPORT(void) PyString_Concat(PyObject **, PyObject *);
! extern DL_IMPORT(void) PyString_ConcatAndDel(PyObject **, PyObject *);
! extern DL_IMPORT(int) _PyString_Resize(PyObject **, int);
! extern DL_IMPORT(int) _PyString_Eq(PyObject *, PyObject*);
! extern DL_IMPORT(PyObject *) PyString_Format(PyObject *, PyObject *);
! extern DL_IMPORT(PyObject *) _PyString_FormatLong(PyObject*, int, int,
  						  int, char**, int*);
  
! extern DL_IMPORT(void) PyString_InternInPlace(PyObject **);
! extern DL_IMPORT(PyObject *) PyString_InternFromString(const char *);
! extern DL_IMPORT(void) _Py_ReleaseInternedStrings(void);
  
  /* Macro, trading safety for speed */
--- 40,68 ----
  } PyStringObject;
  
! PyAPI_DATA(PyTypeObject) PyBaseString_Type;
! PyAPI_DATA(PyTypeObject) PyString_Type;
  
  #define PyString_Check(op) PyObject_TypeCheck(op, &PyString_Type)
  #define PyString_CheckExact(op) ((op)->ob_type == &PyString_Type)
  
! PyAPI_FUNC(PyObject *) PyString_FromStringAndSize(const char *, int);
! PyAPI_FUNC(PyObject *) PyString_FromString(const char *);
! PyAPI_FUNC(PyObject *) PyString_FromFormatV(const char*, va_list)
  				__attribute__((format(printf, 1, 0)));
! PyAPI_FUNC(PyObject *) PyString_FromFormat(const char*, ...)
  				__attribute__((format(printf, 1, 2)));
! PyAPI_FUNC(int) PyString_Size(PyObject *);
! PyAPI_FUNC(char *) PyString_AsString(PyObject *);
! PyAPI_FUNC(void) PyString_Concat(PyObject **, PyObject *);
! PyAPI_FUNC(void) PyString_ConcatAndDel(PyObject **, PyObject *);
! PyAPI_FUNC(int) _PyString_Resize(PyObject **, int);
! PyAPI_FUNC(int) _PyString_Eq(PyObject *, PyObject*);
! PyAPI_FUNC(PyObject *) PyString_Format(PyObject *, PyObject *);
! PyAPI_FUNC(PyObject *) _PyString_FormatLong(PyObject*, int, int,
  						  int, char**, int*);
  
! PyAPI_FUNC(void) PyString_InternInPlace(PyObject **);
! PyAPI_FUNC(PyObject *) PyString_InternFromString(const char *);
! PyAPI_FUNC(void) _Py_ReleaseInternedStrings(void);
  
  /* Macro, trading safety for speed */
***************
*** 72,76 ****
  /* _PyString_Join(sep, x) is like sep.join(x).  sep must be PyStringObject*,
     x must be an iterable object. */
! extern DL_IMPORT(PyObject *) _PyString_Join(PyObject *sep, PyObject *x);
  
  /* --- Generic Codecs ----------------------------------------------------- */
--- 72,76 ----
  /* _PyString_Join(sep, x) is like sep.join(x).  sep must be PyStringObject*,
     x must be an iterable object. */
! PyAPI_FUNC(PyObject *) _PyString_Join(PyObject *sep, PyObject *x);
  
  /* --- Generic Codecs ----------------------------------------------------- */
***************
*** 79,83 ****
     given size. */
  
! extern DL_IMPORT(PyObject*) PyString_Decode(
      const char *s,              /* encoded string */
      int size,                   /* size of buffer */
--- 79,83 ----
     given size. */
  
! PyAPI_FUNC(PyObject*) PyString_Decode(
      const char *s,              /* encoded string */
      int size,                   /* size of buffer */
***************
*** 89,93 ****
     Python object. */
  
! extern DL_IMPORT(PyObject*) PyString_Encode(
      const char *s,              /* string char buffer */
      int size,                   /* number of chars to encode */
--- 89,93 ----
     Python object. */
  
! PyAPI_FUNC(PyObject*) PyString_Encode(
      const char *s,              /* string char buffer */
      int size,                   /* number of chars to encode */
***************
*** 99,103 ****
     object. */
  
! extern DL_IMPORT(PyObject*) PyString_AsEncodedObject(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
--- 99,103 ----
     object. */
  
! PyAPI_FUNC(PyObject*) PyString_AsEncodedObject(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
***************
*** 113,117 ****
     DEPRECATED - use PyString_AsEncodedObject() instead. */
  
! extern DL_IMPORT(PyObject*) PyString_AsEncodedString(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
--- 113,117 ----
     DEPRECATED - use PyString_AsEncodedObject() instead. */
  
! PyAPI_FUNC(PyObject*) PyString_AsEncodedString(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
***************
*** 122,126 ****
     object. */
  
! extern DL_IMPORT(PyObject*) PyString_AsDecodedObject(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
--- 122,126 ----
     object. */
  
! PyAPI_FUNC(PyObject*) PyString_AsDecodedObject(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
***************
*** 136,140 ****
     DEPRECATED - use PyString_AsDecodedObject() instead. */
  
! extern DL_IMPORT(PyObject*) PyString_AsDecodedString(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
--- 136,140 ----
     DEPRECATED - use PyString_AsDecodedObject() instead. */
  
! PyAPI_FUNC(PyObject*) PyString_AsDecodedString(
      PyObject *str,	 	/* string object */
      const char *encoding,	/* encoding */
***************
*** 148,152 ****
     cause an exception).  */
  
! extern DL_IMPORT(int) PyString_AsStringAndSize(
      register PyObject *obj,	/* string or Unicode object */
      register char **s,		/* pointer to buffer variable */
--- 148,152 ----
     cause an exception).  */
  
! PyAPI_FUNC(int) PyString_AsStringAndSize(
      register PyObject *obj,	/* string or Unicode object */
      register char **s,		/* pointer to buffer variable */

Index: structmember.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/structmember.h,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** structmember.h	4 Dec 2001 16:23:42 -0000	2.19
--- structmember.h	12 Aug 2002 07:21:57 -0000	2.20
***************
*** 82,91 ****
  
  /* Obsolete API, for binary backwards compatibility */
! DL_IMPORT(PyObject *) PyMember_Get(char *, struct memberlist *, char *);
! DL_IMPORT(int) PyMember_Set(char *, struct memberlist *, char *, PyObject *);
  
  /* Current API, use this */
! DL_IMPORT(PyObject *) PyMember_GetOne(char *, struct PyMemberDef *);
! DL_IMPORT(int) PyMember_SetOne(char *, struct PyMemberDef *, PyObject *);
  
  
--- 82,91 ----
  
  /* Obsolete API, for binary backwards compatibility */
! PyAPI_FUNC(PyObject *) PyMember_Get(char *, struct memberlist *, char *);
! PyAPI_FUNC(int) PyMember_Set(char *, struct memberlist *, char *, PyObject *);
  
  /* Current API, use this */
! PyAPI_FUNC(PyObject *) PyMember_GetOne(char *, struct PyMemberDef *);
! PyAPI_FUNC(int) PyMember_SetOne(char *, struct PyMemberDef *, PyObject *);
  
  

Index: structseq.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/structseq.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** structseq.h	18 Oct 2001 20:34:25 -0000	1.1
--- structseq.h	12 Aug 2002 07:21:57 -0000	1.2
***************
*** 20,27 ****
  } PyStructSequence_Desc;
  
! extern DL_IMPORT(void) PyStructSequence_InitType(PyTypeObject *type, 
  						 PyStructSequence_Desc *desc);
         
! extern DL_IMPORT(PyObject *) PyStructSequence_New(PyTypeObject* type);
  
  typedef struct {
--- 20,27 ----
  } PyStructSequence_Desc;
  
! PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, 
  						 PyStructSequence_Desc *desc);
         
! PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type);
  
  typedef struct {

Index: symtable.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/symtable.h,v
retrieving revision 2.9
retrieving revision 2.10
diff -C2 -d -r2.9 -r2.10
*** symtable.h	11 Aug 2001 21:51:17 -0000	2.9
--- symtable.h	12 Aug 2002 07:21:57 -0000	2.10
***************
*** 51,63 ****
  } PySymtableEntryObject;
  
! extern DL_IMPORT(PyTypeObject) PySymtableEntry_Type;
  
  #define PySymtableEntry_Check(op) ((op)->ob_type == &PySymtableEntry_Type)
  
! extern DL_IMPORT(PyObject *) PySymtableEntry_New(struct symtable *,
  						 char *, int, int);
  
! DL_IMPORT(struct symtable *) PyNode_CompileSymtable(struct _node *, char *);
! DL_IMPORT(void) PySymtable_Free(struct symtable *);
  
  
--- 51,63 ----
  } PySymtableEntryObject;
  
! PyAPI_DATA(PyTypeObject) PySymtableEntry_Type;
  
  #define PySymtableEntry_Check(op) ((op)->ob_type == &PySymtableEntry_Type)
  
! PyAPI_FUNC(PyObject *) PySymtableEntry_New(struct symtable *,
  						 char *, int, int);
  
! PyAPI_FUNC(struct symtable *) PyNode_CompileSymtable(struct _node *, char *);
! PyAPI_FUNC(void) PySymtable_Free(struct symtable *);
  
  

Index: sysmodule.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/sysmodule.h,v
retrieving revision 2.24
retrieving revision 2.25
diff -C2 -d -r2.24 -r2.25
*** sysmodule.h	23 Oct 2001 02:21:22 -0000	2.24
--- sysmodule.h	12 Aug 2002 07:21:57 -0000	2.25
***************
*** 8,27 ****
  #endif
  
! DL_IMPORT(PyObject *) PySys_GetObject(char *);
! DL_IMPORT(int) PySys_SetObject(char *, PyObject *);
! DL_IMPORT(FILE *) PySys_GetFile(char *, FILE *);
! DL_IMPORT(void) PySys_SetArgv(int, char **);
! DL_IMPORT(void) PySys_SetPath(char *);
  
! DL_IMPORT(void) PySys_WriteStdout(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
! DL_IMPORT(void) PySys_WriteStderr(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
  
! extern DL_IMPORT(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc;
! extern DL_IMPORT(int) _PySys_CheckInterval;
  
! DL_IMPORT(void) PySys_ResetWarnOptions(void);
! DL_IMPORT(void) PySys_AddWarnOption(char *);
  
  #ifdef __cplusplus
--- 8,27 ----
  #endif
  
! PyAPI_FUNC(PyObject *) PySys_GetObject(char *);
! PyAPI_FUNC(int) PySys_SetObject(char *, PyObject *);
! PyAPI_FUNC(FILE *) PySys_GetFile(char *, FILE *);
! PyAPI_FUNC(void) PySys_SetArgv(int, char **);
! PyAPI_FUNC(void) PySys_SetPath(char *);
  
! PyAPI_FUNC(void) PySys_WriteStdout(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
! PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...)
  			__attribute__((format(printf, 1, 2)));
  
! PyAPI_DATA(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc;
! PyAPI_DATA(int) _PySys_CheckInterval;
  
! PyAPI_FUNC(void) PySys_ResetWarnOptions(void);
! PyAPI_FUNC(void) PySys_AddWarnOption(char *);
  
  #ifdef __cplusplus

Index: token.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/token.h,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** token.h	8 Aug 2001 05:00:17 -0000	2.19
--- token.h	12 Aug 2002 07:21:57 -0000	2.20
***************
*** 72,79 ****
  
  
! extern DL_IMPORT(char *) _PyParser_TokenNames[]; /* Token names */
! extern DL_IMPORT(int) PyToken_OneChar(int);
! extern DL_IMPORT(int) PyToken_TwoChars(int, int);
! extern DL_IMPORT(int) PyToken_ThreeChars(int, int, int);
  
  #ifdef __cplusplus
--- 72,79 ----
  
  
! PyAPI_DATA(char *) _PyParser_TokenNames[]; /* Token names */
! PyAPI_FUNC(int) PyToken_OneChar(int);
! PyAPI_FUNC(int) PyToken_TwoChars(int, int);
! PyAPI_FUNC(int) PyToken_ThreeChars(int, int, int);
  
  #ifdef __cplusplus

Index: traceback.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/traceback.h,v
retrieving revision 2.19
retrieving revision 2.20
diff -C2 -d -r2.19 -r2.20
*** traceback.h	19 Mar 2002 16:02:35 -0000	2.19
--- traceback.h	12 Aug 2002 07:21:57 -0000	2.20
***************
*** 10,18 ****
  struct _frame;
  
! DL_IMPORT(int) PyTraceBack_Here(struct _frame *);
! DL_IMPORT(int) PyTraceBack_Print(PyObject *, PyObject *);
  
  /* Reveal traceback type so we can typecheck traceback objects */
! extern DL_IMPORT(PyTypeObject) PyTraceBack_Type;
  #define PyTraceBack_Check(v) ((v)->ob_type == &PyTraceBack_Type)
  
--- 10,18 ----
  struct _frame;
  
! PyAPI_FUNC(int) PyTraceBack_Here(struct _frame *);
! PyAPI_FUNC(int) PyTraceBack_Print(PyObject *, PyObject *);
  
  /* Reveal traceback type so we can typecheck traceback objects */
! PyAPI_DATA(PyTypeObject) PyTraceBack_Type;
  #define PyTraceBack_Check(v) ((v)->ob_type == &PyTraceBack_Type)
  

Index: tupleobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/tupleobject.h,v
retrieving revision 2.27
retrieving revision 2.28
diff -C2 -d -r2.27 -r2.28
*** tupleobject.h	10 Sep 2001 23:37:46 -0000	2.27
--- tupleobject.h	12 Aug 2002 07:21:57 -0000	2.28
***************
*** 25,39 ****
  } PyTupleObject;
  
! extern DL_IMPORT(PyTypeObject) PyTuple_Type;
  
  #define PyTuple_Check(op) PyObject_TypeCheck(op, &PyTuple_Type)
  #define PyTuple_CheckExact(op) ((op)->ob_type == &PyTuple_Type)
  
! extern DL_IMPORT(PyObject *) PyTuple_New(int size);
! extern DL_IMPORT(int) PyTuple_Size(PyObject *);
! extern DL_IMPORT(PyObject *) PyTuple_GetItem(PyObject *, int);
! extern DL_IMPORT(int) PyTuple_SetItem(PyObject *, int, PyObject *);
! extern DL_IMPORT(PyObject *) PyTuple_GetSlice(PyObject *, int, int);
! extern DL_IMPORT(int) _PyTuple_Resize(PyObject **, int);
  
  /* Macro, trading safety for speed */
--- 25,39 ----
  } PyTupleObject;
  
! PyAPI_DATA(PyTypeObject) PyTuple_Type;
  
  #define PyTuple_Check(op) PyObject_TypeCheck(op, &PyTuple_Type)
  #define PyTuple_CheckExact(op) ((op)->ob_type == &PyTuple_Type)
  
! PyAPI_FUNC(PyObject *) PyTuple_New(int size);
! PyAPI_FUNC(int) PyTuple_Size(PyObject *);
! PyAPI_FUNC(PyObject *) PyTuple_GetItem(PyObject *, int);
! PyAPI_FUNC(int) PyTuple_SetItem(PyObject *, int, PyObject *);
! PyAPI_FUNC(PyObject *) PyTuple_GetSlice(PyObject *, int, int);
! PyAPI_FUNC(int) _PyTuple_Resize(PyObject **, int);
  
  /* Macro, trading safety for speed */

Index: unicodeobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/unicodeobject.h,v
retrieving revision 2.39
retrieving revision 2.40
diff -C2 -d -r2.39 -r2.40
*** unicodeobject.h	11 Aug 2002 12:23:03 -0000	2.39
--- unicodeobject.h	12 Aug 2002 07:21:58 -0000	2.40
***************
*** 372,376 ****
  } PyUnicodeObject;
  
! extern DL_IMPORT(PyTypeObject) PyUnicode_Type;
  
  #define PyUnicode_Check(op) PyObject_TypeCheck(op, &PyUnicode_Type)
--- 372,376 ----
  } PyUnicodeObject;
  
! PyAPI_DATA(PyTypeObject) PyUnicode_Type;
  
  #define PyUnicode_Check(op) PyObject_TypeCheck(op, &PyUnicode_Type)
***************
*** 410,414 ****
     The buffer is copied into the new object. */
  
! extern DL_IMPORT(PyObject*) PyUnicode_FromUnicode(
      const Py_UNICODE *u,        /* Unicode buffer */
      int size                    /* size of buffer */
--- 410,414 ----
     The buffer is copied into the new object. */
  
! PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
      const Py_UNICODE *u,        /* Unicode buffer */
      int size                    /* size of buffer */
***************
*** 418,422 ****
     Py_UNICODE buffer. */
  
! extern DL_IMPORT(Py_UNICODE *) PyUnicode_AsUnicode(
      PyObject *unicode	 	/* Unicode object */
      );
--- 418,422 ----
     Py_UNICODE buffer. */
  
! PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
      PyObject *unicode	 	/* Unicode object */
      );
***************
*** 424,433 ****
  /* Get the length of the Unicode object. */
  
! extern DL_IMPORT(int) PyUnicode_GetSize(
      PyObject *unicode	 	/* Unicode object */
      );
  
  /* Get the maximum ordinal for a Unicode character. */
! extern DL_IMPORT(Py_UNICODE) PyUnicode_GetMax(void);
  
  /* Resize an already allocated Unicode object to the new size length.
--- 424,433 ----
  /* Get the length of the Unicode object. */
  
! PyAPI_FUNC(int) PyUnicode_GetSize(
      PyObject *unicode	 	/* Unicode object */
      );
  
  /* Get the maximum ordinal for a Unicode character. */
! PyAPI_FUNC(Py_UNICODE) PyUnicode_GetMax(void);
  
  /* Resize an already allocated Unicode object to the new size length.
***************
*** 445,449 ****
  */
  
! extern DL_IMPORT(int) PyUnicode_Resize(
      PyObject **unicode,		/* Pointer to the Unicode object */
      int length			/* New length */
--- 445,449 ----
  */
  
! PyAPI_FUNC(int) PyUnicode_Resize(
      PyObject **unicode,		/* Pointer to the Unicode object */
      int length			/* New length */
***************
*** 467,471 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_FromEncodedObject(
      register PyObject *obj, 	/* Object */
      const char *encoding,       /* encoding */
--- 467,471 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_FromEncodedObject(
      register PyObject *obj, 	/* Object */
      const char *encoding,       /* encoding */
***************
*** 486,490 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_FromObject(
      register PyObject *obj 	/* Object */
      );
--- 486,490 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_FromObject(
      register PyObject *obj 	/* Object */
      );
***************
*** 499,503 ****
     The buffer is copied into the new object. */
  
! extern DL_IMPORT(PyObject*) PyUnicode_FromWideChar(
      register const wchar_t *w,  /* wchar_t buffer */
      int size                    /* size of buffer */
--- 499,503 ----
     The buffer is copied into the new object. */
  
! PyAPI_FUNC(PyObject*) PyUnicode_FromWideChar(
      register const wchar_t *w,  /* wchar_t buffer */
      int size                    /* size of buffer */
***************
*** 510,514 ****
     error. */
  
! extern DL_IMPORT(int) PyUnicode_AsWideChar(
      PyUnicodeObject *unicode,   /* Unicode object */
      register wchar_t *w,        /* wchar_t buffer */
--- 510,514 ----
     error. */
  
! PyAPI_FUNC(int) PyUnicode_AsWideChar(
      PyUnicodeObject *unicode,   /* Unicode object */
      register wchar_t *w,        /* wchar_t buffer */
***************
*** 564,568 ****
  */
  
! extern DL_IMPORT(PyObject *) _PyUnicode_AsDefaultEncodedString(
      PyObject *, const char *);
  
--- 564,568 ----
  */
  
! PyAPI_FUNC(PyObject *) _PyUnicode_AsDefaultEncodedString(
      PyObject *, const char *);
  
***************
*** 576,580 ****
   */
  
! extern DL_IMPORT(const char*) PyUnicode_GetDefaultEncoding(void);
  
  /* Sets the currently active default encoding.
--- 576,580 ----
   */
  
! PyAPI_FUNC(const char*) PyUnicode_GetDefaultEncoding(void);
  
  /* Sets the currently active default encoding.
***************
*** 584,588 ****
   */
  
! extern DL_IMPORT(int) PyUnicode_SetDefaultEncoding(
      const char *encoding	/* Encoding name in standard form */
      );
--- 584,588 ----
   */
  
! PyAPI_FUNC(int) PyUnicode_SetDefaultEncoding(
      const char *encoding	/* Encoding name in standard form */
      );
***************
*** 593,597 ****
     given size. */
  
! extern DL_IMPORT(PyObject*) PyUnicode_Decode(
      const char *s,              /* encoded string */
      int size,                   /* size of buffer */
--- 593,597 ----
     given size. */
  
! PyAPI_FUNC(PyObject*) PyUnicode_Decode(
      const char *s,              /* encoded string */
      int size,                   /* size of buffer */
***************
*** 603,607 ****
     Python string object. */
  
! extern DL_IMPORT(PyObject*) PyUnicode_Encode(
      const Py_UNICODE *s,        /* Unicode char buffer */
      int size,                   /* number of Py_UNICODE chars to encode */
--- 603,607 ----
     Python string object. */
  
! PyAPI_FUNC(PyObject*) PyUnicode_Encode(
      const Py_UNICODE *s,        /* Unicode char buffer */
      int size,                   /* number of Py_UNICODE chars to encode */
***************
*** 613,617 ****
     object. */
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsEncodedString(
      PyObject *unicode,	 	/* Unicode object */
      const char *encoding,	/* encoding */
--- 613,617 ----
     object. */
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedString(
      PyObject *unicode,	 	/* Unicode object */
      const char *encoding,	/* encoding */
***************
*** 621,625 ****
  /* --- UTF-7 Codecs ------------------------------------------------------- */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUTF7(
      const char *string, 	/* UTF-7 encoded string */
      int length,	 		/* size of string */
--- 621,625 ----
  /* --- UTF-7 Codecs ------------------------------------------------------- */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF7(
      const char *string, 	/* UTF-7 encoded string */
      int length,	 		/* size of string */
***************
*** 627,631 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeUTF7(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* number of Py_UNICODE chars to encode */
--- 627,631 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF7(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* number of Py_UNICODE chars to encode */
***************
*** 639,643 ****
  /* --- UTF-8 Codecs ------------------------------------------------------- */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUTF8(
      const char *string, 	/* UTF-8 encoded string */
      int length,	 		/* size of string */
--- 639,643 ----
  /* --- UTF-8 Codecs ------------------------------------------------------- */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(
      const char *string, 	/* UTF-8 encoded string */
      int length,	 		/* size of string */
***************
*** 645,653 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsUTF8String(
      PyObject *unicode	 	/* Unicode object */
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeUTF8(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* number of Py_UNICODE chars to encode */
--- 645,653 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsUTF8String(
      PyObject *unicode	 	/* Unicode object */
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF8(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* number of Py_UNICODE chars to encode */
***************
*** 680,684 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUTF16(
      const char *string, 	/* UTF-16 encoded string */
      int length,	 		/* size of string */
--- 680,684 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF16(
      const char *string, 	/* UTF-16 encoded string */
      int length,	 		/* size of string */
***************
*** 692,696 ****
     order. The string always starts with a BOM mark.  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsUTF16String(
      PyObject *unicode	 	/* Unicode object */
      );
--- 692,696 ----
     order. The string always starts with a BOM mark.  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsUTF16String(
      PyObject *unicode	 	/* Unicode object */
      );
***************
*** 716,720 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeUTF16(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* number of Py_UNICODE chars to encode */
--- 716,720 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF16(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* number of Py_UNICODE chars to encode */
***************
*** 725,729 ****
  /* --- Unicode-Escape Codecs ---------------------------------------------- */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUnicodeEscape(
      const char *string, 	/* Unicode-Escape encoded string */
      int length,	 		/* size of string */
--- 725,729 ----
  /* --- Unicode-Escape Codecs ---------------------------------------------- */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUnicodeEscape(
      const char *string, 	/* Unicode-Escape encoded string */
      int length,	 		/* size of string */
***************
*** 731,739 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsUnicodeEscapeString(
      PyObject *unicode	 	/* Unicode object */
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeUnicodeEscape(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length	 		/* Number of Py_UNICODE chars to encode */
--- 731,739 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsUnicodeEscapeString(
      PyObject *unicode	 	/* Unicode object */
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeUnicodeEscape(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length	 		/* Number of Py_UNICODE chars to encode */
***************
*** 742,746 ****
  /* --- Raw-Unicode-Escape Codecs ------------------------------------------ */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeRawUnicodeEscape(
      const char *string, 	/* Raw-Unicode-Escape encoded string */
      int length,	 		/* size of string */
--- 742,746 ----
  /* --- Raw-Unicode-Escape Codecs ------------------------------------------ */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeRawUnicodeEscape(
      const char *string, 	/* Raw-Unicode-Escape encoded string */
      int length,	 		/* size of string */
***************
*** 748,756 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsRawUnicodeEscapeString(
      PyObject *unicode	 	/* Unicode object */
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeRawUnicodeEscape(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length	 		/* Number of Py_UNICODE chars to encode */
--- 748,756 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsRawUnicodeEscapeString(
      PyObject *unicode	 	/* Unicode object */
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeRawUnicodeEscape(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length	 		/* Number of Py_UNICODE chars to encode */
***************
*** 763,767 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeLatin1(
      const char *string, 	/* Latin-1 encoded string */
      int length,	 		/* size of string */
--- 763,767 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeLatin1(
      const char *string, 	/* Latin-1 encoded string */
      int length,	 		/* size of string */
***************
*** 769,777 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsLatin1String(
      PyObject *unicode	 	/* Unicode object */
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeLatin1(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
--- 769,777 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsLatin1String(
      PyObject *unicode	 	/* Unicode object */
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeLatin1(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
***************
*** 785,789 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeASCII(
      const char *string, 	/* ASCII encoded string */
      int length,	 		/* size of string */
--- 785,789 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeASCII(
      const char *string, 	/* ASCII encoded string */
      int length,	 		/* size of string */
***************
*** 791,799 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsASCIIString(
      PyObject *unicode	 	/* Unicode object */
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeASCII(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
--- 791,799 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsASCIIString(
      PyObject *unicode	 	/* Unicode object */
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeASCII(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
***************
*** 823,827 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeCharmap(
      const char *string, 	/* Encoded string */
      int length,	 		/* size of string */
--- 823,827 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeCharmap(
      const char *string, 	/* Encoded string */
      int length,	 		/* size of string */
***************
*** 831,835 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsCharmapString(
      PyObject *unicode,	 	/* Unicode object */
      PyObject *mapping		/* character mapping 
--- 831,835 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsCharmapString(
      PyObject *unicode,	 	/* Unicode object */
      PyObject *mapping		/* character mapping 
***************
*** 837,841 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeCharmap(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
--- 837,841 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeCharmap(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
***************
*** 858,862 ****
  */
  
! extern DL_IMPORT(PyObject *) PyUnicode_TranslateCharmap(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
--- 858,862 ----
  */
  
! PyAPI_FUNC(PyObject *) PyUnicode_TranslateCharmap(
      const Py_UNICODE *data, 	/* Unicode char buffer */
      int length,	 		/* Number of Py_UNICODE chars to encode */
***************
*** 869,873 ****
  /* --- MBCS codecs for Windows -------------------------------------------- */
  
! extern DL_IMPORT(PyObject*) PyUnicode_DecodeMBCS(
      const char *string,         /* MBCS encoded string */
      int length,                 /* size of string */
--- 869,873 ----
  /* --- MBCS codecs for Windows -------------------------------------------- */
  
! PyAPI_FUNC(PyObject*) PyUnicode_DecodeMBCS(
      const char *string,         /* MBCS encoded string */
      int length,                 /* size of string */
***************
*** 875,883 ****
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_AsMBCSString(
      PyObject *unicode           /* Unicode object */
      );
  
! extern DL_IMPORT(PyObject*) PyUnicode_EncodeMBCS(
      const Py_UNICODE *data,     /* Unicode char buffer */
      int length,                 /* Number of Py_UNICODE chars to encode */
--- 875,883 ----
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_AsMBCSString(
      PyObject *unicode           /* Unicode object */
      );
  
! PyAPI_FUNC(PyObject*) PyUnicode_EncodeMBCS(
      const Py_UNICODE *data,     /* Unicode char buffer */
      int length,                 /* Number of Py_UNICODE chars to encode */
***************
*** 911,915 ****
  */
  
! extern DL_IMPORT(int) PyUnicode_EncodeDecimal(
      Py_UNICODE *s,		/* Unicode buffer */
      int length,			/* Number of Py_UNICODE chars to encode */
--- 911,915 ----
  */
  
! PyAPI_FUNC(int) PyUnicode_EncodeDecimal(
      Py_UNICODE *s,		/* Unicode buffer */
      int length,			/* Number of Py_UNICODE chars to encode */
***************
*** 926,930 ****
  /* Concat two strings giving a new Unicode string. */
  
! extern DL_IMPORT(PyObject*) PyUnicode_Concat(
      PyObject *left,	 	/* Left string */
      PyObject *right	 	/* Right string */
--- 926,930 ----
  /* Concat two strings giving a new Unicode string. */
  
! PyAPI_FUNC(PyObject*) PyUnicode_Concat(
      PyObject *left,	 	/* Left string */
      PyObject *right	 	/* Right string */
***************
*** 942,946 ****
  */
  
! extern DL_IMPORT(PyObject*) PyUnicode_Split(
      PyObject *s,		/* String to split */
      PyObject *sep,		/* String separator */
--- 942,946 ----
  */
  
! PyAPI_FUNC(PyObject*) PyUnicode_Split(
      PyObject *s,		/* String to split */
      PyObject *sep,		/* String separator */
***************
*** 953,957 ****
     included in the resulting list. */
      
! extern DL_IMPORT(PyObject*) PyUnicode_Splitlines(
      PyObject *s,		/* String to split */
      int keepends		/* If true, line end markers are included */
--- 953,957 ----
     included in the resulting list. */
      
! PyAPI_FUNC(PyObject*) PyUnicode_Splitlines(
      PyObject *s,		/* String to split */
      int keepends		/* If true, line end markers are included */
***************
*** 970,974 ****
  */
  
! extern DL_IMPORT(PyObject *) PyUnicode_Translate(
      PyObject *str,		/* String */ 
      PyObject *table,		/* Translate table */
--- 970,974 ----
  */
  
! PyAPI_FUNC(PyObject *) PyUnicode_Translate(
      PyObject *str,		/* String */ 
      PyObject *table,		/* Translate table */
***************
*** 979,983 ****
     the resulting Unicode string. */
      
! extern DL_IMPORT(PyObject*) PyUnicode_Join(
      PyObject *separator, 	/* Separator string */
      PyObject *seq	 	/* Sequence object */
--- 979,983 ----
     the resulting Unicode string. */
      
! PyAPI_FUNC(PyObject*) PyUnicode_Join(
      PyObject *separator, 	/* Separator string */
      PyObject *seq	 	/* Sequence object */
***************
*** 987,991 ****
     otherwise. */
  
! extern DL_IMPORT(int) PyUnicode_Tailmatch(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Prefix or Suffix string */
--- 987,991 ----
     otherwise. */
  
! PyAPI_FUNC(int) PyUnicode_Tailmatch(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Prefix or Suffix string */
***************
*** 999,1003 ****
     an error occurred and an exception is set. */
  
! extern DL_IMPORT(int) PyUnicode_Find(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Substring to find */
--- 999,1003 ----
     an error occurred and an exception is set. */
  
! PyAPI_FUNC(int) PyUnicode_Find(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Substring to find */
***************
*** 1009,1013 ****
  /* Count the number of occurrences of substr in str[start:end]. */
  
! extern DL_IMPORT(int) PyUnicode_Count(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Substring to count */
--- 1009,1013 ----
  /* Count the number of occurrences of substr in str[start:end]. */
  
! PyAPI_FUNC(int) PyUnicode_Count(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Substring to count */
***************
*** 1019,1023 ****
     and return the resulting Unicode object. */
  
! extern DL_IMPORT(PyObject *) PyUnicode_Replace(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Substring to find */
--- 1019,1023 ----
     and return the resulting Unicode object. */
  
! PyAPI_FUNC(PyObject *) PyUnicode_Replace(
      PyObject *str,		/* String */ 
      PyObject *substr,		/* Substring to find */
***************
*** 1030,1034 ****
     greater than resp. */
  
! extern DL_IMPORT(int) PyUnicode_Compare(
      PyObject *left,		/* Left string */ 
      PyObject *right		/* Right string */
--- 1030,1034 ----
     greater than resp. */
  
! PyAPI_FUNC(int) PyUnicode_Compare(
      PyObject *left,		/* Left string */ 
      PyObject *right		/* Right string */
***************
*** 1038,1042 ****
     the resulting Unicode string. */
  
! extern DL_IMPORT(PyObject *) PyUnicode_Format(
      PyObject *format,		/* Format string */ 
      PyObject *args		/* Argument tuple or dictionary */
--- 1038,1042 ----
     the resulting Unicode string. */
  
! PyAPI_FUNC(PyObject *) PyUnicode_Format(
      PyObject *format,		/* Format string */ 
      PyObject *args		/* Argument tuple or dictionary */
***************
*** 1049,1053 ****
     returned in case of an error. */
  
! extern DL_IMPORT(int) PyUnicode_Contains(
      PyObject *container,	/* Container string */ 
      PyObject *element		/* Element string */
--- 1049,1053 ----
     returned in case of an error. */
  
! PyAPI_FUNC(int) PyUnicode_Contains(
      PyObject *container,	/* Container string */ 
      PyObject *element		/* Element string */
***************
*** 1055,1059 ****
  
  /* Externally visible for str.strip(unicode) */
! extern DL_IMPORT(PyObject *) _PyUnicode_XStrip(
      PyUnicodeObject *self,
      int striptype,
--- 1055,1059 ----
  
  /* Externally visible for str.strip(unicode) */
! PyAPI_FUNC(PyObject *) _PyUnicode_XStrip(
      PyUnicodeObject *self,
      int striptype,
***************
*** 1070,1130 ****
  */
  
! extern DL_IMPORT(int) _PyUnicode_IsLowercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsUppercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsTitlecase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsWhitespace(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsLinebreak(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(Py_UNICODE) _PyUnicode_ToLowercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(Py_UNICODE) _PyUnicode_ToUppercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(Py_UNICODE) _PyUnicode_ToTitlecase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_ToDecimalDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_ToDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(double) _PyUnicode_ToNumeric(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsDecimalDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsNumeric(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! extern DL_IMPORT(int) _PyUnicode_IsAlpha(
      Py_UNICODE ch 	/* Unicode character */
      );
--- 1070,1130 ----
  */
  
! PyAPI_FUNC(int) _PyUnicode_IsLowercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsUppercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsTitlecase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsWhitespace(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsLinebreak(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(Py_UNICODE) _PyUnicode_ToLowercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(Py_UNICODE) _PyUnicode_ToUppercase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(Py_UNICODE) _PyUnicode_ToTitlecase(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_ToDecimalDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_ToDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(double) _PyUnicode_ToNumeric(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsDecimalDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsDigit(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsNumeric(
      Py_UNICODE ch 	/* Unicode character */
      );
  
! PyAPI_FUNC(int) _PyUnicode_IsAlpha(
      Py_UNICODE ch 	/* Unicode character */
      );

Index: weakrefobject.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/weakrefobject.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** weakrefobject.h	5 Oct 2001 22:06:45 -0000	1.2
--- weakrefobject.h	12 Aug 2002 07:21:58 -0000	1.3
***************
*** 19,25 ****
  };
  
! extern DL_IMPORT(PyTypeObject) _PyWeakref_RefType;
! extern DL_IMPORT(PyTypeObject) _PyWeakref_ProxyType;
! extern DL_IMPORT(PyTypeObject) _PyWeakref_CallableProxyType;
  
  #define PyWeakref_CheckRef(op) \
--- 19,25 ----
  };
  
! PyAPI_DATA(PyTypeObject) _PyWeakref_RefType;
! PyAPI_DATA(PyTypeObject) _PyWeakref_ProxyType;
! PyAPI_DATA(PyTypeObject) _PyWeakref_CallableProxyType;
  
  #define PyWeakref_CheckRef(op) \
***************
*** 32,42 ****
  
  
! extern DL_IMPORT(PyObject *) PyWeakref_NewRef(PyObject *ob,
                                                PyObject *callback);
! extern DL_IMPORT(PyObject *) PyWeakref_NewProxy(PyObject *ob,
                                                  PyObject *callback);
! extern DL_IMPORT(PyObject *) PyWeakref_GetObject(PyObject *ref);
  
! extern DL_IMPORT(long) _PyWeakref_GetWeakrefCount(PyWeakReference *head);
  
  #define PyWeakref_GET_OBJECT(ref) (((PyWeakReference *)(ref))->wr_object)
--- 32,42 ----
  
  
! PyAPI_FUNC(PyObject *) PyWeakref_NewRef(PyObject *ob,
                                                PyObject *callback);
! PyAPI_FUNC(PyObject *) PyWeakref_NewProxy(PyObject *ob,
                                                  PyObject *callback);
! PyAPI_FUNC(PyObject *) PyWeakref_GetObject(PyObject *ref);
  
! PyAPI_FUNC(long) _PyWeakref_GetWeakrefCount(PyWeakReference *head);
  
  #define PyWeakref_GET_OBJECT(ref) (((PyWeakReference *)(ref))->wr_object)