Index: Modules/_codecsmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_codecsmodule.c,v retrieving revision 2.12 diff -c -r2.12 _codecsmodule.c *** Modules/_codecsmodule.c 30 Jun 2002 15:26:09 -0000 2.12 --- Modules/_codecsmodule.c 31 Jul 2002 15:44:31 -0000 *************** *** 703,709 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) init_codecs(void) { Py_InitModule("_codecs", _codecs_functions); --- 703,709 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC init_codecs(void) { Py_InitModule("_codecs", _codecs_functions); Index: Modules/_curses_panel.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_curses_panel.c,v retrieving revision 1.12 diff -c -r1.12 _curses_panel.c *** Modules/_curses_panel.c 31 Mar 2002 14:55:17 -0000 1.12 --- Modules/_curses_panel.c 31 Jul 2002 15:44:31 -0000 *************** *** 445,451 **** /* Initialization function for the module */ ! DL_EXPORT(void) init_curses_panel(void) { PyObject *m, *d, *v; --- 445,451 ---- /* Initialization function for the module */ ! PyMODINIT_FUNC init_curses_panel(void) { PyObject *m, *d, *v; Index: Modules/_cursesmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_cursesmodule.c,v retrieving revision 2.65 diff -c -r2.65 _cursesmodule.c *** Modules/_cursesmodule.c 30 Jan 2002 15:39:28 -0000 2.65 --- Modules/_cursesmodule.c 31 Jul 2002 15:44:32 -0000 *************** *** 2474,2480 **** /* Initialization function for the module */ ! DL_EXPORT(void) init_curses(void) { PyObject *m, *d, *v, *c_api_object; --- 2474,2480 ---- /* Initialization function for the module */ ! PyMODINIT_FUNC init_curses(void) { PyObject *m, *d, *v, *c_api_object; Index: Modules/_localemodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_localemodule.c,v retrieving revision 2.34 diff -c -r2.34 _localemodule.c *** Modules/_localemodule.c 14 Jul 2002 22:14:18 -0000 2.34 --- Modules/_localemodule.c 31 Jul 2002 15:44:33 -0000 *************** *** 649,655 **** {NULL, NULL} }; ! DL_EXPORT(void) init_locale(void) { PyObject *m, *d, *x; --- 649,655 ---- {NULL, NULL} }; ! PyMODINIT_FUNC init_locale(void) { PyObject *m, *d, *x; Index: Modules/_ssl.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_ssl.c,v retrieving revision 1.7 diff -c -r1.7 _ssl.c *** Modules/_ssl.c 28 Jul 2002 09:57:45 -0000 1.7 --- Modules/_ssl.c 31 Jul 2002 15:44:33 -0000 *************** *** 473,479 **** "Implementation module for SSL socket operations. See the socket module\n\ for documentation."); ! DL_EXPORT(void) init_ssl(void) { PyObject *m, *d; --- 473,479 ---- "Implementation module for SSL socket operations. See the socket module\n\ for documentation."); ! PyMODINIT_FUNC init_ssl(void) { PyObject *m, *d; Index: Modules/_weakref.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/_weakref.c,v retrieving revision 1.16 diff -c -r1.16 _weakref.c *** Modules/_weakref.c 13 Jun 2002 20:32:47 -0000 1.16 --- Modules/_weakref.c 31 Jul 2002 15:44:34 -0000 *************** *** 109,115 **** }; ! DL_EXPORT(void) init_weakref(void) { PyObject *m; --- 109,115 ---- }; ! PyMODINIT_FUNC init_weakref(void) { PyObject *m; Index: Modules/arraymodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/arraymodule.c,v retrieving revision 2.78 diff -c -r2.78 arraymodule.c *** Modules/arraymodule.c 29 Jul 2002 14:35:03 -0000 2.78 --- Modules/arraymodule.c 31 Jul 2002 15:44:36 -0000 *************** *** 1908,1914 **** }; ! DL_EXPORT(void) initarray(void) { PyObject *m; --- 1908,1914 ---- }; ! PyMODINIT_FUNC initarray(void) { PyObject *m; Index: Modules/audioop.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/audioop.c,v retrieving revision 1.48 diff -c -r1.48 audioop.c *** Modules/audioop.c 17 Jan 2002 23:15:58 -0000 1.48 --- Modules/audioop.c 31 Jul 2002 15:44:36 -0000 *************** *** 1369,1375 **** { 0, 0 } }; ! DL_EXPORT(void) initaudioop(void) { PyObject *m, *d; --- 1369,1375 ---- { 0, 0 } }; ! PyMODINIT_FUNC initaudioop(void) { PyObject *m, *d; Index: Modules/binascii.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/binascii.c,v retrieving revision 2.36 diff -c -r2.36 binascii.c *** Modules/binascii.c 2 Jul 2002 22:24:50 -0000 2.36 --- Modules/binascii.c 31 Jul 2002 15:44:36 -0000 *************** *** 1313,1319 **** /* Initialization function for the module (*must* be called initbinascii) */ PyDoc_STRVAR(doc_binascii, "Conversion between binary data and ASCII"); ! DL_EXPORT(void) initbinascii(void) { PyObject *m, *d, *x; --- 1313,1319 ---- /* Initialization function for the module (*must* be called initbinascii) */ PyDoc_STRVAR(doc_binascii, "Conversion between binary data and ASCII"); ! PyMODINIT_FUNC initbinascii(void) { PyObject *m, *d, *x; Index: Modules/cPickle.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/cPickle.c,v retrieving revision 2.91 diff -c -r2.91 cPickle.c *** Modules/cPickle.c 18 Jul 2002 20:58:57 -0000 2.91 --- Modules/cPickle.c 31 Jul 2002 15:44:37 -0000 *************** *** 4789,4798 **** return 0; } ! #ifndef DL_EXPORT /* declarations for DLL import/export */ ! #define DL_EXPORT(RTYPE) RTYPE #endif ! DL_EXPORT(void) initcPickle(void) { PyObject *m, *d, *di, *v, *k; --- 4789,4798 ---- return 0; } ! #ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ ! #define PyMODINIT_FUNC RTYPE #endif ! PyMODINIT_FUNC initcPickle(void) { PyObject *m, *d, *di, *v, *k; Index: Modules/cStringIO.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/cStringIO.c,v retrieving revision 2.36 diff -c -r2.36 cStringIO.c *** Modules/cStringIO.c 13 Jun 2002 20:32:48 -0000 2.36 --- Modules/cStringIO.c 31 Jul 2002 15:44:37 -0000 *************** *** 701,710 **** &Otype, }; ! #ifndef DL_EXPORT /* declarations for DLL import/export */ ! #define DL_EXPORT(RTYPE) RTYPE #endif ! DL_EXPORT(void) initcStringIO(void) { PyObject *m, *d, *v; --- 701,710 ---- &Otype, }; ! #ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ ! #define PyMODINIT_FUNC RTYPE #endif ! PyMODINIT_FUNC initcStringIO(void) { PyObject *m, *d, *v; Index: Modules/cmathmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/cmathmodule.c,v retrieving revision 2.31 diff -c -r2.31 cmathmodule.c *** Modules/cmathmodule.c 17 Jul 2002 16:30:36 -0000 2.31 --- Modules/cmathmodule.c 31 Jul 2002 15:44:37 -0000 *************** *** 391,397 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) initcmath(void) { PyObject *m; --- 391,397 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC initcmath(void) { PyObject *m; Index: Modules/cryptmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/cryptmodule.c,v retrieving revision 2.13 diff -c -r2.13 cryptmodule.c *** Modules/cryptmodule.c 13 Jun 2002 20:32:49 -0000 2.13 --- Modules/cryptmodule.c 31 Jul 2002 15:44:37 -0000 *************** *** 37,43 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) initcrypt(void) { Py_InitModule("crypt", crypt_methods); --- 37,43 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC initcrypt(void) { Py_InitModule("crypt", crypt_methods); Index: Modules/dbmmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/dbmmodule.c,v retrieving revision 2.31 diff -c -r2.31 dbmmodule.c *** Modules/dbmmodule.c 17 Jul 2002 16:30:36 -0000 2.31 --- Modules/dbmmodule.c 31 Jul 2002 15:44:37 -0000 *************** *** 339,345 **** { 0, 0 }, }; ! DL_EXPORT(void) initdbm(void) { PyObject *m, *d, *s; --- 342,348 ---- { 0, 0 }, }; ! PyMODINIT_FUNC initdbm(void) { PyObject *m, *d, *s; Index: Modules/dlmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/dlmodule.c,v retrieving revision 2.22 diff -c -r2.22 dlmodule.c *** Modules/dlmodule.c 17 Jul 2002 16:30:36 -0000 2.22 --- Modules/dlmodule.c 31 Jul 2002 15:44:37 -0000 *************** *** 209,215 **** Py_XDECREF(v); } ! DL_EXPORT(void) initdl(void) { PyObject *m, *d, *x; --- 209,215 ---- Py_XDECREF(v); } ! PyMODINIT_FUNC initdl(void) { PyObject *m, *d, *x; Index: Modules/errnomodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/errnomodule.c,v retrieving revision 2.17 diff -c -r2.17 errnomodule.c *** Modules/errnomodule.c 13 Jun 2002 20:32:49 -0000 2.17 --- Modules/errnomodule.c 31 Jul 2002 15:44:38 -0000 *************** *** 57,63 **** To map error codes to error messages, use the function os.strerror(),\n\ e.g. os.strerror(2) could return 'No such file or directory'."); ! DL_EXPORT(void) initerrno(void) { PyObject *m, *d, *de; --- 57,63 ---- To map error codes to error messages, use the function os.strerror(),\n\ e.g. os.strerror(2) could return 'No such file or directory'."); ! PyMODINIT_FUNC initerrno(void) { PyObject *m, *d, *de; Index: Modules/fcntlmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/fcntlmodule.c,v retrieving revision 2.35 diff -c -r2.35 fcntlmodule.c *** Modules/fcntlmodule.c 13 Jun 2002 20:32:49 -0000 2.35 --- Modules/fcntlmodule.c 31 Jul 2002 15:44:38 -0000 *************** *** 462,468 **** return 0; } ! DL_EXPORT(void) initfcntl(void) { PyObject *m, *d; --- 462,468 ---- return 0; } ! PyMODINIT_FUNC initfcntl(void) { PyObject *m, *d; Index: Modules/flmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/flmodule.c,v retrieving revision 1.50 diff -c -r1.50 flmodule.c *** Modules/flmodule.c 17 Jul 2002 16:30:36 -0000 1.50 --- Modules/flmodule.c 31 Jul 2002 15:44:38 -0000 *************** *** 2126,2132 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) initfl(void) { Py_InitModule("fl", forms_methods); --- 2126,2132 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC initfl(void) { Py_InitModule("fl", forms_methods); Index: Modules/fpectlmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/fpectlmodule.c,v retrieving revision 2.16 diff -c -r2.16 fpectlmodule.c *** Modules/fpectlmodule.c 1 Feb 2002 15:46:29 -0000 2.16 --- Modules/fpectlmodule.c 31 Jul 2002 15:44:38 -0000 *************** *** 86,92 **** static void fpe_reset(Sigfunc *); static PyObject *fpe_error; ! DL_EXPORT(void) initfpectl(void); static PyObject *turnon_sigfpe (PyObject *self,PyObject *args); static PyObject *turnoff_sigfpe (PyObject *self,PyObject *args); --- 86,92 ---- static void fpe_reset(Sigfunc *); static PyObject *fpe_error; ! PyMODINIT_FUNC initfpectl(void); static PyObject *turnon_sigfpe (PyObject *self,PyObject *args); static PyObject *turnoff_sigfpe (PyObject *self,PyObject *args); *************** *** 249,255 **** } } ! DL_EXPORT(void) initfpectl(void) { PyObject *m, *d; m = Py_InitModule("fpectl", fpectl_methods); --- 249,255 ---- } } ! PyMODINIT_FUNC initfpectl(void) { PyObject *m, *d; m = Py_InitModule("fpectl", fpectl_methods); Index: Modules/fpetestmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/fpetestmodule.c,v retrieving revision 2.7 diff -c -r2.7 fpetestmodule.c *** Modules/fpetestmodule.c 17 Jan 2002 23:15:58 -0000 2.7 --- Modules/fpetestmodule.c 31 Jul 2002 15:44:38 -0000 *************** *** 44,50 **** #include "Python.h" static PyObject *fpe_error; ! DL_EXPORT(void) initfpetest(void); static PyObject *test(PyObject *self,PyObject *args); static double db0(double); static double overflow(double); --- 44,50 ---- #include "Python.h" static PyObject *fpe_error; ! PyMODINIT_FUNC initfpetest(void); static PyObject *test(PyObject *self,PyObject *args); static double db0(double); static double overflow(double); *************** *** 172,178 **** return a; } ! DL_EXPORT(void) initfpetest(void) { PyObject *m, *d; --- 172,178 ---- return a; } ! PyMODINIT_FUNC initfpetest(void) { PyObject *m, *d; Index: Modules/gdbmmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/gdbmmodule.c,v retrieving revision 2.34 diff -c -r2.34 gdbmmodule.c *** Modules/gdbmmodule.c 17 Jul 2002 16:30:36 -0000 2.34 --- Modules/gdbmmodule.c 31 Jul 2002 15:44:39 -0000 *************** *** 504,510 **** { 0, 0 }, }; ! DL_EXPORT(void) initgdbm(void) { PyObject *m, *d, *s; --- 504,510 ---- { 0, 0 }, }; ! PyMODINIT_FUNC initgdbm(void) { PyObject *m, *d, *s; Index: Modules/grpmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/grpmodule.c,v retrieving revision 2.18 diff -c -r2.18 grpmodule.c *** Modules/grpmodule.c 13 Jun 2002 20:32:49 -0000 2.18 --- Modules/grpmodule.c 31 Jul 2002 15:44:40 -0000 *************** *** 156,162 **** complete membership information.)"); ! DL_EXPORT(void) initgrp(void) { PyObject *m, *d; --- 156,162 ---- complete membership information.)"); ! PyMODINIT_FUNC initgrp(void) { PyObject *m, *d; Index: Modules/imageop.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/imageop.c,v retrieving revision 2.27 diff -c -r2.27 imageop.c *** Modules/imageop.c 2 Apr 2002 18:26:33 -0000 2.27 --- Modules/imageop.c 31 Jul 2002 15:44:40 -0000 *************** *** 696,702 **** }; ! DL_EXPORT(void) initimageop(void) { PyObject *m, *d; --- 696,702 ---- }; ! PyMODINIT_FUNC initimageop(void) { PyObject *m, *d; Index: Modules/main.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/main.c,v retrieving revision 1.66 diff -c -r1.66 main.c *** Modules/main.c 28 Jul 2002 13:53:05 -0000 1.66 --- Modules/main.c 31 Jul 2002 15:44:41 -0000 *************** *** 105,111 **** /* Main program */ ! DL_EXPORT(int) Py_Main(int argc, char **argv) { int c; --- 105,111 ---- /* Main program */ ! PyMODINIT_FUNC Py_Main(int argc, char **argv) { int c; Index: Modules/mathmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/mathmodule.c,v retrieving revision 2.68 diff -c -r2.68 mathmodule.c *** Modules/mathmodule.c 13 Jun 2002 20:32:50 -0000 2.68 --- Modules/mathmodule.c 31 Jul 2002 15:44:42 -0000 *************** *** 334,340 **** "This module is always available. It provides access to the\n" "mathematical functions defined by the C standard."); ! DL_EXPORT(void) initmath(void) { PyObject *m, *d, *v; --- 334,340 ---- "This module is always available. It provides access to the\n" "mathematical functions defined by the C standard."); ! PyMODINIT_FUNC initmath(void) { PyObject *m, *d, *v; Index: Modules/md5module.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/md5module.c,v retrieving revision 2.32 diff -c -r2.32 md5module.c *** Modules/md5module.c 17 Jul 2002 16:49:03 -0000 2.32 --- Modules/md5module.c 31 Jul 2002 15:44:42 -0000 *************** *** 253,259 **** /* Initialize this module. */ ! DL_EXPORT(void) initmd5(void) { PyObject *m, *d; --- 253,259 ---- /* Initialize this module. */ ! PyMODINIT_FUNC initmd5(void) { PyObject *m, *d; Index: Modules/mpzmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/mpzmodule.c,v retrieving revision 2.44 diff -c -r2.44 mpzmodule.c *** Modules/mpzmodule.c 17 Jul 2002 16:30:37 -0000 2.44 --- Modules/mpzmodule.c 31 Jul 2002 15:44:42 -0000 *************** *** 1644,1650 **** /* Initialize this module. */ ! DL_EXPORT(void) initmpz(void) { PyObject *module; --- 1644,1650 ---- /* Initialize this module. */ ! PyMODINIT_FUNC initmpz(void) { PyObject *module; Index: Modules/operator.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/operator.c,v retrieving revision 2.21 diff -c -r2.21 operator.c *** Modules/operator.c 13 Jun 2002 20:32:50 -0000 2.21 --- Modules/operator.c 31 Jul 2002 15:44:42 -0000 *************** *** 219,225 **** /* Initialization function for the module (*must* be called initoperator) */ ! DL_EXPORT(void) initoperator(void) { /* Create the module and add the functions */ --- 219,225 ---- /* Initialization function for the module (*must* be called initoperator) */ ! PyMODINIT_FUNC initoperator(void) { /* Create the module and add the functions */ Index: Modules/pcremodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/pcremodule.c,v retrieving revision 2.32 diff -c -r2.32 pcremodule.c *** Modules/pcremodule.c 17 Jul 2002 16:30:37 -0000 2.32 --- Modules/pcremodule.c 31 Jul 2002 15:44:43 -0000 *************** *** 610,616 **** /* Initialization function for the module (*must* be called initpcre) */ ! DL_EXPORT(void) initpcre(void) { PyObject *m, *d; --- 610,616 ---- /* Initialization function for the module (*must* be called initpcre) */ ! PyMODINIT_FUNC initpcre(void) { PyObject *m, *d; Index: Modules/posixmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/posixmodule.c,v retrieving revision 2.249 diff -c -r2.249 posixmodule.c *** Modules/posixmodule.c 30 Jul 2002 12:27:43 -0000 2.249 --- Modules/posixmodule.c 31 Jul 2002 15:44:44 -0000 *************** *** 6737,6743 **** #define MODNAME "posix" #endif ! DL_EXPORT(void) INITFUNC(void) { PyObject *m, *v; --- 6737,6743 ---- #define MODNAME "posix" #endif ! PyMODINIT_FUNC INITFUNC(void) { PyObject *m, *v; Index: Modules/pwdmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/pwdmodule.c,v retrieving revision 1.34 diff -c -r1.34 pwdmodule.c *** Modules/pwdmodule.c 13 Jun 2002 20:32:51 -0000 1.34 --- Modules/pwdmodule.c 31 Jul 2002 15:44:44 -0000 *************** *** 157,163 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) initpwd(void) { PyObject *m; --- 157,163 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC initpwd(void) { PyObject *m; Index: Modules/readline.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/readline.c,v retrieving revision 2.51 diff -c -r2.51 readline.c *** Modules/readline.c 13 Jun 2002 20:32:52 -0000 2.51 --- Modules/readline.c 31 Jul 2002 15:44:46 -0000 *************** *** 652,658 **** PyDoc_STRVAR(doc_module, "Importing this module enables command line editing using GNU readline."); ! DL_EXPORT(void) initreadline(void) { PyObject *m; --- 652,658 ---- PyDoc_STRVAR(doc_module, "Importing this module enables command line editing using GNU readline."); ! PyMODINIT_FUNC initreadline(void) { PyObject *m; Index: Modules/regexmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/regexmodule.c,v retrieving revision 1.48 diff -c -r1.48 regexmodule.c *** Modules/regexmodule.c 27 Apr 2002 18:44:31 -0000 1.48 --- Modules/regexmodule.c 31 Jul 2002 15:44:46 -0000 *************** *** 642,648 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) initregex(void) { PyObject *m, *d, *v; --- 642,648 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC initregex(void) { PyObject *m, *d, *v; Index: Modules/resource.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/resource.c,v retrieving revision 2.26 diff -c -r2.26 resource.c *** Modules/resource.c 13 Jun 2002 20:32:52 -0000 2.26 --- Modules/resource.c 31 Jul 2002 15:44:46 -0000 *************** *** 210,216 **** /* Module initialization */ ! DL_EXPORT(void) initresource(void) { PyObject *m, *v; --- 210,216 ---- /* Module initialization */ ! PyMODINIT_FUNC initresource(void) { PyObject *m, *v; Index: Modules/rgbimgmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/rgbimgmodule.c,v retrieving revision 2.25 diff -c -r2.25 rgbimgmodule.c *** Modules/rgbimgmodule.c 31 Mar 2002 15:27:00 -0000 2.25 --- Modules/rgbimgmodule.c 31 Jul 2002 15:44:46 -0000 *************** *** 751,757 **** }; ! DL_EXPORT(void) initrgbimg(void) { PyObject *m, *d; --- 751,757 ---- }; ! PyMODINIT_FUNC initrgbimg(void) { PyObject *m, *d; Index: Modules/rotormodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/rotormodule.c,v retrieving revision 2.36 diff -c -r2.36 rotormodule.c *** Modules/rotormodule.c 17 Jul 2002 16:49:03 -0000 2.36 --- Modules/rotormodule.c 31 Jul 2002 15:44:47 -0000 *************** *** 615,621 **** }; ! DL_EXPORT(void) initrotor(void) { Rotor_Type.ob_type = &PyType_Type; --- 615,621 ---- }; ! PyMODINIT_FUNC initrotor(void) { Rotor_Type.ob_type = &PyType_Type; Index: Modules/shamodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/shamodule.c,v retrieving revision 2.20 diff -c -r2.20 shamodule.c *** Modules/shamodule.c 17 Jul 2002 16:30:37 -0000 2.20 --- Modules/shamodule.c 31 Jul 2002 15:44:47 -0000 *************** *** 525,531 **** #define insint(n,v) { PyModule_AddIntConstant(m,n,v); } ! DL_EXPORT(void) initsha(void) { PyObject *m; --- 525,531 ---- #define insint(n,v) { PyModule_AddIntConstant(m,n,v); } ! PyMODINIT_FUNC initsha(void) { PyObject *m; Index: Modules/signalmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/signalmodule.c,v retrieving revision 2.70 diff -c -r2.70 signalmodule.c *** Modules/signalmodule.c 30 Jun 2002 15:26:09 -0000 2.70 --- Modules/signalmodule.c 31 Jul 2002 15:44:47 -0000 *************** *** 469,475 **** A signal handler function is called with two arguments:\n\ the first is the signal number, the second is the interrupted stack frame."); ! DL_EXPORT(void) initsignal(void) { PyObject *m, *d, *x; --- 469,475 ---- A signal handler function is called with two arguments:\n\ the first is the signal number, the second is the interrupted stack frame."); ! PyMODINIT_FUNC initsignal(void) { PyObject *m, *d, *x; Index: Modules/socketmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/socketmodule.c,v retrieving revision 1.238 diff -c -r1.238 socketmodule.c *** Modules/socketmodule.c 28 Jul 2002 16:10:31 -0000 1.238 --- Modules/socketmodule.c 31 Jul 2002 15:44:48 -0000 *************** *** 3008,3014 **** "Implementation module for socket operations. See the socket module\n\ for documentation."); ! DL_EXPORT(void) init_socket(void) { PyObject *m; --- 3008,3014 ---- "Implementation module for socket operations. See the socket module\n\ for documentation."); ! PyMODINIT_FUNC init_socket(void) { PyObject *m; Index: Modules/stropmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/stropmodule.c,v retrieving revision 2.89 diff -c -r2.89 stropmodule.c *** Modules/stropmodule.c 13 Jun 2002 20:32:53 -0000 2.89 --- Modules/stropmodule.c 31 Jul 2002 15:44:48 -0000 *************** *** 1203,1209 **** }; ! DL_EXPORT(void) initstrop(void) { PyObject *m, *s; --- 1203,1209 ---- }; ! PyMODINIT_FUNC initstrop(void) { PyObject *m, *s; Index: Modules/structmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/structmodule.c,v retrieving revision 2.55 diff -c -r2.55 structmodule.c *** Modules/structmodule.c 13 Jun 2002 20:32:53 -0000 2.55 --- Modules/structmodule.c 31 Jul 2002 15:44:49 -0000 *************** *** 1499,1505 **** /* Module initialization */ ! DL_EXPORT(void) initstruct(void) { PyObject *m; --- 1499,1505 ---- /* Module initialization */ ! PyMODINIT_FUNC initstruct(void) { PyObject *m; Index: Modules/symtablemodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/symtablemodule.c,v retrieving revision 1.5 diff -c -r1.5 symtablemodule.c *** Modules/symtablemodule.c 6 Dec 2001 14:34:58 -0000 1.5 --- Modules/symtablemodule.c 31 Jul 2002 15:44:50 -0000 *************** *** 43,49 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) init_symtable(void) { PyObject *m; --- 43,49 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC init_symtable(void) { PyObject *m; Index: Modules/syslogmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/syslogmodule.c,v retrieving revision 2.18 diff -c -r2.18 syslogmodule.c *** Modules/syslogmodule.c 1 Apr 2002 14:53:37 -0000 2.18 --- Modules/syslogmodule.c 31 Jul 2002 15:44:50 -0000 *************** *** 155,161 **** /* Initialization function for the module */ ! DL_EXPORT(void) initsyslog(void) { PyObject *m; --- 155,161 ---- /* Initialization function for the module */ ! PyMODINIT_FUNC initsyslog(void) { PyObject *m; Index: Modules/termios.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/termios.c,v retrieving revision 2.35 diff -c -r2.35 termios.c *** Modules/termios.c 13 Jun 2002 20:32:53 -0000 2.35 --- Modules/termios.c 31 Jul 2002 15:44:51 -0000 *************** *** 892,898 **** }; ! DL_EXPORT(void) PyInit_termios(void) { PyObject *m; --- 892,898 ---- }; ! PyMODINIT_FUNC PyInit_termios(void) { PyObject *m; Index: Modules/threadmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/threadmodule.c,v retrieving revision 2.51 diff -c -r2.51 threadmodule.c *** Modules/threadmodule.c 17 Jul 2002 16:30:37 -0000 2.51 --- Modules/threadmodule.c 31 Jul 2002 15:44:51 -0000 *************** *** 360,366 **** unlock it. A thread attempting to lock a lock that it has already locked\n\ will block until another thread unlocks it. Deadlocks may ensue."); ! DL_EXPORT(void) initthread(void) { PyObject *m, *d; --- 360,366 ---- unlock it. A thread attempting to lock a lock that it has already locked\n\ will block until another thread unlocks it. Deadlocks may ensue."); ! PyMODINIT_FUNC initthread(void) { PyObject *m, *d; Index: Modules/timemodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/timemodule.c,v retrieving revision 2.130 diff -c -r2.130 timemodule.c *** Modules/timemodule.c 19 Jul 2002 17:06:47 -0000 2.130 --- Modules/timemodule.c 31 Jul 2002 15:44:51 -0000 *************** *** 620,626 **** strptime() -- parse string to time tuple according to format specification"); ! DL_EXPORT(void) inittime(void) { PyObject *m; --- 620,626 ---- strptime() -- parse string to time tuple according to format specification"); ! PyMODINIT_FUNC inittime(void) { PyObject *m; Index: Modules/timingmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/timingmodule.c,v retrieving revision 2.10 diff -c -r2.10 timingmodule.c *** Modules/timingmodule.c 31 Mar 2002 14:57:24 -0000 2.10 --- Modules/timingmodule.c 31 Jul 2002 15:44:51 -0000 *************** *** 52,58 **** }; ! DL_EXPORT(void) inittiming(void) { (void)Py_InitModule("timing", timing_methods); } --- 52,58 ---- }; ! PyMODINIT_FUNC inittiming(void) { (void)Py_InitModule("timing", timing_methods); } Index: Modules/xreadlinesmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/xreadlinesmodule.c,v retrieving revision 1.11 diff -c -r1.11 xreadlinesmodule.c *** Modules/xreadlinesmodule.c 17 Jul 2002 16:30:37 -0000 1.11 --- Modules/xreadlinesmodule.c 31 Jul 2002 15:44:51 -0000 *************** *** 168,174 **** {NULL, NULL} }; ! DL_EXPORT(void) initxreadlines(void) { XReadlinesObject_Type.ob_type = &PyType_Type; --- 168,174 ---- {NULL, NULL} }; ! PyMODINIT_FUNC initxreadlines(void) { XReadlinesObject_Type.ob_type = &PyType_Type; Index: Modules/xxmodule.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/xxmodule.c,v retrieving revision 2.30 diff -c -r2.30 xxmodule.c *** Modules/xxmodule.c 17 Jul 2002 16:49:03 -0000 2.30 --- Modules/xxmodule.c 31 Jul 2002 15:44:51 -0000 *************** *** 218,224 **** /* Initialization function for the module (*must* be called initxx) */ ! DL_EXPORT(void) initxx(void) { PyObject *m; --- 218,224 ---- /* Initialization function for the module (*must* be called initxx) */ ! PyMODINIT_FUNC initxx(void) { PyObject *m; Index: Modules/xxsubtype.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Modules/xxsubtype.c,v retrieving revision 2.16 diff -c -r2.16 xxsubtype.c *** Modules/xxsubtype.c 17 Jul 2002 16:30:37 -0000 2.16 --- Modules/xxsubtype.c 31 Jul 2002 15:44:51 -0000 *************** *** 263,269 **** {NULL, NULL} /* sentinel */ }; ! DL_EXPORT(void) initxxsubtype(void) { PyObject *m; --- 263,269 ---- {NULL, NULL} /* sentinel */ }; ! PyMODINIT_FUNC initxxsubtype(void) { PyObject *m; Index: Include/Python.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/Python.h,v retrieving revision 2.56 diff -c -r2.56 Python.h *** Include/Python.h 20 Jul 2002 08:51:52 -0000 2.56 --- Include/Python.h 31 Jul 2002 15:44:51 -0000 *************** *** 114,120 **** #include "abstract.h" /* _Py_Mangle is defined in compile.c */ ! extern DL_IMPORT(int) _Py_Mangle(char *p, char *name, \ char *buffer, size_t maxlen); /* PyArg_GetInt is deprecated and should not be used, use PyArg_Parse(). */ --- 114,120 ---- #include "abstract.h" /* _Py_Mangle is defined in compile.c */ ! PyAPI_FUNC(int) _Py_Mangle(char *p, char *name, \ char *buffer, size_t maxlen); /* PyArg_GetInt is deprecated and should not be used, use PyArg_Parse(). */ Index: Include/abstract.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/abstract.h,v retrieving revision 2.44 diff -c -r2.44 abstract.h *** Include/abstract.h 8 May 2002 08:44:21 -0000 2.44 --- Include/abstract.h 31 Jul 2002 15:44:51 -0000 *************** *** 223,229 **** */ #define PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL) ! DL_IMPORT(int) PyObject_Cmp(PyObject *o1, PyObject *o2, int *result); /* Compare the values of o1 and o2 using a routine provided by --- 223,229 ---- */ #define PyObject_DelAttr(O,A) PyObject_SetAttr((O),(A),NULL) ! PyAPI_FUNC(int) PyObject_Cmp(PyObject *o1, PyObject *o2, int *result); /* Compare the values of o1 and o2 using a routine provided by *************** *** 283,289 **** */ ! DL_IMPORT(int) PyCallable_Check(PyObject *o); /* Determine if the object, o, is callable. Return 1 if the --- 283,289 ---- */ ! PyAPI_FUNC(int) PyCallable_Check(PyObject *o); /* Determine if the object, o, is callable. Return 1 if the *************** *** 295,301 **** ! DL_IMPORT(PyObject *) PyObject_Call(PyObject *callable_object, PyObject *args, PyObject *kw); /* --- 295,301 ---- ! PyAPI_FUNC(PyObject *) PyObject_Call(PyObject *callable_object, PyObject *args, PyObject *kw); /* *************** *** 305,311 **** */ ! DL_IMPORT(PyObject *) PyObject_CallObject(PyObject *callable_object, PyObject *args); /* --- 305,311 ---- */ ! PyAPI_FUNC(PyObject *) PyObject_CallObject(PyObject *callable_object, PyObject *args); /* *************** *** 317,323 **** */ ! DL_IMPORT(PyObject *) PyObject_CallFunction(PyObject *callable_object, char *format, ...); /* --- 317,323 ---- */ ! PyAPI_FUNC(PyObject *) PyObject_CallFunction(PyObject *callable_object, char *format, ...); /* *************** *** 331,337 **** */ ! DL_IMPORT(PyObject *) PyObject_CallMethod(PyObject *o, char *m, char *format, ...); /* --- 331,337 ---- */ ! PyAPI_FUNC(PyObject *) PyObject_CallMethod(PyObject *o, char *m, char *format, ...); /* *************** *** 344,350 **** */ ! DL_IMPORT(PyObject *) PyObject_CallFunctionObjArgs(PyObject *callable, ...); /* --- 344,350 ---- */ ! PyAPI_FUNC(PyObject *) PyObject_CallFunctionObjArgs(PyObject *callable, ...); /* *************** *** 357,363 **** */ ! DL_IMPORT(PyObject *) PyObject_CallMethodObjArgs(PyObject *o, PyObject *m, ...); /* --- 357,363 ---- */ ! PyAPI_FUNC(PyObject *) PyObject_CallMethodObjArgs(PyObject *o, PyObject *m, ...); /* *************** *** 404,410 **** */ ! DL_IMPORT(PyObject *) PyObject_Type(PyObject *o); /* On success, returns a type object corresponding to the object --- 404,410 ---- */ ! PyAPI_FUNC(PyObject *) PyObject_Type(PyObject *o); /* On success, returns a type object corresponding to the object *************** *** 412,418 **** equivalent to the Python expression: type(o). */ ! DL_IMPORT(int) PyObject_Size(PyObject *o); /* Return the size of object o. If the object, o, provides --- 412,418 ---- equivalent to the Python expression: type(o). */ ! PyAPI_FUNC(int) PyObject_Size(PyObject *o); /* Return the size of object o. If the object, o, provides *************** *** 424,434 **** /* For DLL compatibility */ #undef PyObject_Length ! DL_IMPORT(int) PyObject_Length(PyObject *o); #define PyObject_Length PyObject_Size ! DL_IMPORT(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key); /* Return element of o corresponding to the object, key, or NULL --- 424,434 ---- /* For DLL compatibility */ #undef PyObject_Length ! PyAPI_FUNC(int) PyObject_Length(PyObject *o); #define PyObject_Length PyObject_Size ! PyAPI_FUNC(PyObject *) PyObject_GetItem(PyObject *o, PyObject *key); /* Return element of o corresponding to the object, key, or NULL *************** *** 437,443 **** */ ! DL_IMPORT(int) PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); /* Map the object, key, to the value, v. Returns --- 437,443 ---- */ ! PyAPI_FUNC(int) PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); /* Map the object, key, to the value, v. Returns *************** *** 445,451 **** statement: o[key]=v. */ ! DL_IMPORT(int) PyObject_DelItemString(PyObject *o, char *key); /* Remove the mapping for object, key, from the object *o. --- 445,451 ---- statement: o[key]=v. */ ! PyAPI_FUNC(int) PyObject_DelItemString(PyObject *o, char *key); /* Remove the mapping for object, key, from the object *o. *************** *** 453,466 **** the Python statement: del o[key]. */ ! DL_IMPORT(int) PyObject_DelItem(PyObject *o, PyObject *key); /* Delete the mapping for key from *o. Returns -1 on failure. This is the equivalent of the Python statement: del o[key]. */ ! DL_IMPORT(int) PyObject_AsCharBuffer(PyObject *obj, const char **buffer, int *buffer_len); --- 453,466 ---- the Python statement: del o[key]. */ ! PyAPI_FUNC(int) PyObject_DelItem(PyObject *o, PyObject *key); /* Delete the mapping for key from *o. Returns -1 on failure. This is the equivalent of the Python statement: del o[key]. */ ! PyAPI_FUNC(int) PyObject_AsCharBuffer(PyObject *obj, const char **buffer, int *buffer_len); *************** *** 476,482 **** */ ! DL_IMPORT(int) PyObject_CheckReadBuffer(PyObject *obj); /* Checks whether an arbitrary object supports the (character, --- 476,482 ---- */ ! PyAPI_FUNC(int) PyObject_CheckReadBuffer(PyObject *obj); /* Checks whether an arbitrary object supports the (character, *************** *** 485,491 **** */ ! DL_IMPORT(int) PyObject_AsReadBuffer(PyObject *obj, const void **buffer, int *buffer_len); --- 485,491 ---- */ ! PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj, const void **buffer, int *buffer_len); *************** *** 501,507 **** */ ! DL_IMPORT(int) PyObject_AsWriteBuffer(PyObject *obj, void **buffer, int *buffer_len); --- 501,507 ---- */ ! PyAPI_FUNC(int) PyObject_AsWriteBuffer(PyObject *obj, void **buffer, int *buffer_len); *************** *** 518,524 **** /* Iterators */ ! DL_IMPORT(PyObject *) PyObject_GetIter(PyObject *); /* Takes an object and returns an iterator for it. This is typically a new iterator but if the argument is an iterator, this returns itself. */ --- 518,524 ---- /* Iterators */ ! PyAPI_FUNC(PyObject *) PyObject_GetIter(PyObject *); /* Takes an object and returns an iterator for it. This is typically a new iterator but if the argument is an iterator, this returns itself. */ *************** *** 527,533 **** (PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_ITER) && \ (obj)->ob_type->tp_iternext != NULL) ! DL_IMPORT(PyObject *) PyIter_Next(PyObject *); /* Takes an iterator object and calls its tp_iternext slot, returning the next value. If the iterator is exhausted, this returns NULL without setting an exception. --- 527,533 ---- (PyType_HasFeature((obj)->ob_type, Py_TPFLAGS_HAVE_ITER) && \ (obj)->ob_type->tp_iternext != NULL) ! PyAPI_FUNC(PyObject *) PyIter_Next(PyObject *); /* Takes an iterator object and calls its tp_iternext slot, returning the next value. If the iterator is exhausted, this returns NULL without setting an exception. *************** *** 535,541 **** /* Number Protocol:*/ ! DL_IMPORT(int) PyNumber_Check(PyObject *o); /* Returns 1 if the object, o, provides numeric protocols, and --- 535,541 ---- /* Number Protocol:*/ ! PyAPI_FUNC(int) PyNumber_Check(PyObject *o); /* Returns 1 if the object, o, provides numeric protocols, and *************** *** 545,551 **** */ ! DL_IMPORT(PyObject *) PyNumber_Add(PyObject *o1, PyObject *o2); /* Returns the result of adding o1 and o2, or null on failure. --- 545,551 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Add(PyObject *o1, PyObject *o2); /* Returns the result of adding o1 and o2, or null on failure. *************** *** 554,560 **** */ ! DL_IMPORT(PyObject *) PyNumber_Subtract(PyObject *o1, PyObject *o2); /* Returns the result of subtracting o2 from o1, or null on --- 554,560 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Subtract(PyObject *o1, PyObject *o2); /* Returns the result of subtracting o2 from o1, or null on *************** *** 563,569 **** */ ! DL_IMPORT(PyObject *) PyNumber_Multiply(PyObject *o1, PyObject *o2); /* Returns the result of multiplying o1 and o2, or null on --- 563,569 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Multiply(PyObject *o1, PyObject *o2); /* Returns the result of multiplying o1 and o2, or null on *************** *** 573,579 **** */ ! DL_IMPORT(PyObject *) PyNumber_Divide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2, or null on failure. --- 573,579 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Divide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2, or null on failure. *************** *** 582,588 **** */ ! DL_IMPORT(PyObject *) PyNumber_FloorDivide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2 giving an integral result, --- 582,588 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_FloorDivide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2 giving an integral result, *************** *** 592,598 **** */ ! DL_IMPORT(PyObject *) PyNumber_TrueDivide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2 giving a float result, --- 592,598 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_TrueDivide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2 giving a float result, *************** *** 602,608 **** */ ! DL_IMPORT(PyObject *) PyNumber_Remainder(PyObject *o1, PyObject *o2); /* Returns the remainder of dividing o1 by o2, or null on --- 602,608 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Remainder(PyObject *o1, PyObject *o2); /* Returns the remainder of dividing o1 by o2, or null on *************** *** 612,618 **** */ ! DL_IMPORT(PyObject *) PyNumber_Divmod(PyObject *o1, PyObject *o2); /* See the built-in function divmod. Returns NULL on failure. --- 612,618 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Divmod(PyObject *o1, PyObject *o2); /* See the built-in function divmod. Returns NULL on failure. *************** *** 622,628 **** */ ! DL_IMPORT(PyObject *) PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3); /* --- 622,628 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Power(PyObject *o1, PyObject *o2, PyObject *o3); /* *************** *** 632,638 **** */ ! DL_IMPORT(PyObject *) PyNumber_Negative(PyObject *o); /* Returns the negation of o on success, or null on failure. --- 632,638 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Negative(PyObject *o); /* Returns the negation of o on success, or null on failure. *************** *** 640,646 **** */ ! DL_IMPORT(PyObject *) PyNumber_Positive(PyObject *o); /* Returns the (what?) of o on success, or NULL on failure. --- 640,646 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Positive(PyObject *o); /* Returns the (what?) of o on success, or NULL on failure. *************** *** 648,654 **** */ ! DL_IMPORT(PyObject *) PyNumber_Absolute(PyObject *o); /* Returns the absolute value of o, or null on failure. This is --- 648,654 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Absolute(PyObject *o); /* Returns the absolute value of o, or null on failure. This is *************** *** 656,662 **** */ ! DL_IMPORT(PyObject *) PyNumber_Invert(PyObject *o); /* Returns the bitwise negation of o on success, or NULL on --- 656,662 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Invert(PyObject *o); /* Returns the bitwise negation of o on success, or NULL on *************** *** 666,672 **** */ ! DL_IMPORT(PyObject *) PyNumber_Lshift(PyObject *o1, PyObject *o2); /* Returns the result of left shifting o1 by o2 on success, or --- 666,672 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Lshift(PyObject *o1, PyObject *o2); /* Returns the result of left shifting o1 by o2 on success, or *************** *** 676,682 **** */ ! DL_IMPORT(PyObject *) PyNumber_Rshift(PyObject *o1, PyObject *o2); /* Returns the result of right shifting o1 by o2 on success, or --- 676,682 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Rshift(PyObject *o1, PyObject *o2); /* Returns the result of right shifting o1 by o2 on success, or *************** *** 685,691 **** */ ! DL_IMPORT(PyObject *) PyNumber_And(PyObject *o1, PyObject *o2); /* Returns the result of bitwise and of o1 and o2 on success, or --- 685,691 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_And(PyObject *o1, PyObject *o2); /* Returns the result of bitwise and of o1 and o2 on success, or *************** *** 695,701 **** */ ! DL_IMPORT(PyObject *) PyNumber_Xor(PyObject *o1, PyObject *o2); /* Returns the bitwise exclusive or of o1 by o2 on success, or --- 695,701 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Xor(PyObject *o1, PyObject *o2); /* Returns the bitwise exclusive or of o1 by o2 on success, or *************** *** 705,711 **** */ ! DL_IMPORT(PyObject *) PyNumber_Or(PyObject *o1, PyObject *o2); /* Returns the result of bitwise or or o1 and o2 on success, or --- 705,711 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Or(PyObject *o1, PyObject *o2); /* Returns the result of bitwise or or o1 and o2 on success, or *************** *** 733,739 **** */ ! DL_IMPORT(PyObject *) PyNumber_Int(PyObject *o); /* Returns the o converted to an integer object on success, or --- 733,739 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Int(PyObject *o); /* Returns the o converted to an integer object on success, or *************** *** 742,748 **** */ ! DL_IMPORT(PyObject *) PyNumber_Long(PyObject *o); /* Returns the o converted to a long integer object on success, --- 742,748 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Long(PyObject *o); /* Returns the o converted to a long integer object on success, *************** *** 751,757 **** */ ! DL_IMPORT(PyObject *) PyNumber_Float(PyObject *o); /* Returns the o converted to a float object on success, or NULL --- 751,757 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_Float(PyObject *o); /* Returns the o converted to a float object on success, or NULL *************** *** 761,767 **** /* In-place variants of (some of) the above number protocol functions */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); /* Returns the result of adding o2 to o1, possibly in-place, or null --- 761,767 ---- /* In-place variants of (some of) the above number protocol functions */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); /* Returns the result of adding o2 to o1, possibly in-place, or null *************** *** 770,776 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); /* Returns the result of subtracting o2 from o1, possibly in-place or --- 770,776 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); /* Returns the result of subtracting o2 from o1, possibly in-place or *************** *** 779,785 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); /* Returns the result of multiplying o1 by o2, possibly in-place, or --- 779,785 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); /* Returns the result of multiplying o1 by o2, possibly in-place, or *************** *** 788,794 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2, possibly in-place, or null --- 788,794 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2); /* Returns the result of dividing o1 by o2, possibly in-place, or null *************** *** 797,803 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2); /* --- 797,803 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2); /* *************** *** 808,814 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2); /* --- 808,814 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceTrueDivide(PyObject *o1, PyObject *o2); /* *************** *** 819,825 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); /* Returns the remainder of dividing o1 by o2, possibly in-place, or --- 819,825 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); /* Returns the remainder of dividing o1 by o2, possibly in-place, or *************** *** 828,834 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3); /* --- 828,834 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlacePower(PyObject *o1, PyObject *o2, PyObject *o3); /* *************** *** 838,844 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); /* Returns the result of left shifting o1 by o2, possibly in-place, or --- 838,844 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); /* Returns the result of left shifting o1 by o2, possibly in-place, or *************** *** 847,853 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); /* Returns the result of right shifting o1 by o2, possibly in-place or --- 847,853 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); /* Returns the result of right shifting o1 by o2, possibly in-place or *************** *** 856,862 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); /* Returns the result of bitwise and of o1 and o2, possibly in-place, --- 856,862 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); /* Returns the result of bitwise and of o1 and o2, possibly in-place, *************** *** 865,871 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); /* Returns the bitwise exclusive or of o1 by o2, possibly in-place, or --- 865,871 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); /* Returns the bitwise exclusive or of o1 by o2, possibly in-place, or *************** *** 874,880 **** */ ! DL_IMPORT(PyObject *) PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); /* Returns the result of bitwise or or o1 and o2, possibly in-place, --- 874,880 ---- */ ! PyAPI_FUNC(PyObject *) PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); /* Returns the result of bitwise or or o1 and o2, possibly in-place, *************** *** 886,892 **** /* Sequence protocol:*/ ! DL_IMPORT(int) PySequence_Check(PyObject *o); /* Return 1 if the object provides sequence protocol, and zero --- 886,892 ---- /* Sequence protocol:*/ ! PyAPI_FUNC(int) PySequence_Check(PyObject *o); /* Return 1 if the object provides sequence protocol, and zero *************** *** 896,902 **** */ ! DL_IMPORT(int) PySequence_Size(PyObject *o); /* Return the size of sequence object o, or -1 on failure. --- 896,902 ---- */ ! PyAPI_FUNC(int) PySequence_Size(PyObject *o); /* Return the size of sequence object o, or -1 on failure. *************** *** 905,915 **** /* For DLL compatibility */ #undef PySequence_Length ! DL_IMPORT(int) PySequence_Length(PyObject *o); #define PySequence_Length PySequence_Size ! DL_IMPORT(PyObject *) PySequence_Concat(PyObject *o1, PyObject *o2); /* Return the concatenation of o1 and o2 on success, and NULL on --- 905,915 ---- /* For DLL compatibility */ #undef PySequence_Length ! PyAPI_FUNC(int) PySequence_Length(PyObject *o); #define PySequence_Length PySequence_Size ! PyAPI_FUNC(PyObject *) PySequence_Concat(PyObject *o1, PyObject *o2); /* Return the concatenation of o1 and o2 on success, and NULL on *************** *** 918,924 **** */ ! DL_IMPORT(PyObject *) PySequence_Repeat(PyObject *o, int count); /* Return the result of repeating sequence object o count times, --- 918,924 ---- */ ! PyAPI_FUNC(PyObject *) PySequence_Repeat(PyObject *o, int count); /* Return the result of repeating sequence object o count times, *************** *** 927,940 **** */ ! DL_IMPORT(PyObject *) PySequence_GetItem(PyObject *o, int i); /* Return the ith element of o, or NULL on failure. This is the equivalent of the Python expression: o[i]. */ ! DL_IMPORT(PyObject *) PySequence_GetSlice(PyObject *o, int i1, int i2); /* Return the slice of sequence object o between i1 and i2, or --- 927,940 ---- */ ! PyAPI_FUNC(PyObject *) PySequence_GetItem(PyObject *o, int i); /* Return the ith element of o, or NULL on failure. This is the equivalent of the Python expression: o[i]. */ ! PyAPI_FUNC(PyObject *) PySequence_GetSlice(PyObject *o, int i1, int i2); /* Return the slice of sequence object o between i1 and i2, or *************** *** 943,949 **** */ ! DL_IMPORT(int) PySequence_SetItem(PyObject *o, int i, PyObject *v); /* Assign object v to the ith element of o. Returns --- 943,949 ---- */ ! PyAPI_FUNC(int) PySequence_SetItem(PyObject *o, int i, PyObject *v); /* Assign object v to the ith element of o. Returns *************** *** 952,958 **** */ ! DL_IMPORT(int) PySequence_DelItem(PyObject *o, int i); /* Delete the ith element of object v. Returns --- 952,958 ---- */ ! PyAPI_FUNC(int) PySequence_DelItem(PyObject *o, int i); /* Delete the ith element of object v. Returns *************** *** 960,966 **** statement: del o[i]. */ ! DL_IMPORT(int) PySequence_SetSlice(PyObject *o, int i1, int i2, PyObject *v); /* --- 960,966 ---- statement: del o[i]. */ ! PyAPI_FUNC(int) PySequence_SetSlice(PyObject *o, int i1, int i2, PyObject *v); /* *************** *** 969,975 **** equivalent of the Python statement: o[i1:i2]=v. */ ! DL_IMPORT(int) PySequence_DelSlice(PyObject *o, int i1, int i2); /* Delete the slice in sequence object, o, from i1 to i2. --- 969,975 ---- equivalent of the Python statement: o[i1:i2]=v. */ ! PyAPI_FUNC(int) PySequence_DelSlice(PyObject *o, int i1, int i2); /* Delete the slice in sequence object, o, from i1 to i2. *************** *** 977,983 **** statement: del o[i1:i2]. */ ! DL_IMPORT(PyObject *) PySequence_Tuple(PyObject *o); /* Returns the sequence, o, as a tuple on success, and NULL on failure. --- 977,983 ---- statement: del o[i1:i2]. */ ! PyAPI_FUNC(PyObject *) PySequence_Tuple(PyObject *o); /* Returns the sequence, o, as a tuple on success, and NULL on failure. *************** *** 985,997 **** */ ! DL_IMPORT(PyObject *) PySequence_List(PyObject *o); /* Returns the sequence, o, as a list on success, and NULL on failure. This is equivalent to the Python expression: list(o) */ ! DL_IMPORT(PyObject *) PySequence_Fast(PyObject *o, const char* m); /* Returns the sequence, o, as a tuple, unless it's already a tuple or list. Use PySequence_Fast_GET_ITEM to access the --- 985,997 ---- */ ! PyAPI_FUNC(PyObject *) PySequence_List(PyObject *o); /* Returns the sequence, o, as a list on success, and NULL on failure. This is equivalent to the Python expression: list(o) */ ! PyAPI_FUNC(PyObject *) PySequence_Fast(PyObject *o, const char* m); /* Returns the sequence, o, as a tuple, unless it's already a tuple or list. Use PySequence_Fast_GET_ITEM to access the *************** *** 1021,1027 **** need to be corrected for a negative index */ ! DL_IMPORT(int) PySequence_Count(PyObject *o, PyObject *value); /* Return the number of occurrences on value on o, that is, --- 1021,1027 ---- need to be corrected for a negative index */ ! PyAPI_FUNC(int) PySequence_Count(PyObject *o, PyObject *value); /* Return the number of occurrences on value on o, that is, *************** *** 1030,1036 **** expression: o.count(value). */ ! DL_IMPORT(int) PySequence_Contains(PyObject *seq, PyObject *ob); /* Return -1 if error; 1 if ob in seq; 0 if ob not in seq. Use __contains__ if possible, else _PySequence_IterSearch(). --- 1030,1036 ---- expression: o.count(value). */ ! PyAPI_FUNC(int) PySequence_Contains(PyObject *seq, PyObject *ob); /* Return -1 if error; 1 if ob in seq; 0 if ob not in seq. Use __contains__ if possible, else _PySequence_IterSearch(). *************** *** 1039,1045 **** #define PY_ITERSEARCH_COUNT 1 #define PY_ITERSEARCH_INDEX 2 #define PY_ITERSEARCH_CONTAINS 3 ! DL_IMPORT(int) _PySequence_IterSearch(PyObject *seq, PyObject *obj, int operation); /* Iterate over seq. Result depends on the operation: --- 1039,1045 ---- #define PY_ITERSEARCH_COUNT 1 #define PY_ITERSEARCH_INDEX 2 #define PY_ITERSEARCH_CONTAINS 3 ! PyAPI_FUNC(int) _PySequence_IterSearch(PyObject *seq, PyObject *obj, int operation); /* Iterate over seq. Result depends on the operation: *************** *** 1054,1060 **** /* For DLL-level backwards compatibility */ #undef PySequence_In ! DL_IMPORT(int) PySequence_In(PyObject *o, PyObject *value); /* For source-level backwards compatibility */ #define PySequence_In PySequence_Contains --- 1054,1060 ---- /* For DLL-level backwards compatibility */ #undef PySequence_In ! PyAPI_FUNC(int) PySequence_In(PyObject *o, PyObject *value); /* For source-level backwards compatibility */ #define PySequence_In PySequence_Contains *************** *** 1065,1071 **** is equivalent to the Python expression: value in o. */ ! DL_IMPORT(int) PySequence_Index(PyObject *o, PyObject *value); /* Return the first index for which o[i]=value. On error, --- 1065,1071 ---- is equivalent to the Python expression: value in o. */ ! PyAPI_FUNC(int) PySequence_Index(PyObject *o, PyObject *value); /* Return the first index for which o[i]=value. On error, *************** *** 1075,1081 **** /* In-place versions of some of the above Sequence functions. */ ! DL_IMPORT(PyObject *) PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); /* Append o2 to o1, in-place when possible. Return the resulting --- 1075,1081 ---- /* In-place versions of some of the above Sequence functions. */ ! PyAPI_FUNC(PyObject *) PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); /* Append o2 to o1, in-place when possible. Return the resulting *************** *** 1084,1090 **** */ ! DL_IMPORT(PyObject *) PySequence_InPlaceRepeat(PyObject *o, int count); /* Repeat o1 by count, in-place when possible. Return the resulting --- 1084,1090 ---- */ ! PyAPI_FUNC(PyObject *) PySequence_InPlaceRepeat(PyObject *o, int count); /* Repeat o1 by count, in-place when possible. Return the resulting *************** *** 1095,1101 **** /* Mapping protocol:*/ ! DL_IMPORT(int) PyMapping_Check(PyObject *o); /* Return 1 if the object provides mapping protocol, and zero --- 1095,1101 ---- /* Mapping protocol:*/ ! PyAPI_FUNC(int) PyMapping_Check(PyObject *o); /* Return 1 if the object provides mapping protocol, and zero *************** *** 1104,1110 **** This function always succeeds. */ ! DL_IMPORT(int) PyMapping_Size(PyObject *o); /* Returns the number of keys in object o on success, and -1 on --- 1104,1110 ---- This function always succeeds. */ ! PyAPI_FUNC(int) PyMapping_Size(PyObject *o); /* Returns the number of keys in object o on success, and -1 on *************** *** 1114,1120 **** /* For DLL compatibility */ #undef PyMapping_Length ! DL_IMPORT(int) PyMapping_Length(PyObject *o); #define PyMapping_Length PyMapping_Size --- 1114,1120 ---- /* For DLL compatibility */ #undef PyMapping_Length ! PyAPI_FUNC(int) PyMapping_Length(PyObject *o); #define PyMapping_Length PyMapping_Size *************** *** 1138,1144 **** */ #define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K)) ! DL_IMPORT(int) PyMapping_HasKeyString(PyObject *o, char *key); /* On success, return 1 if the mapping object has the key, key, --- 1138,1144 ---- */ #define PyMapping_DelItem(O,K) PyObject_DelItem((O),(K)) ! PyAPI_FUNC(int) PyMapping_HasKeyString(PyObject *o, char *key); /* On success, return 1 if the mapping object has the key, key, *************** *** 1148,1154 **** This function always succeeds. */ ! DL_IMPORT(int) PyMapping_HasKey(PyObject *o, PyObject *key); /* Return 1 if the mapping object has the key, key, --- 1148,1154 ---- This function always succeeds. */ ! PyAPI_FUNC(int) PyMapping_HasKey(PyObject *o, PyObject *key); /* Return 1 if the mapping object has the key, key, *************** *** 1191,1197 **** */ #define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL) ! DL_IMPORT(PyObject *) PyMapping_GetItemString(PyObject *o, char *key); /* Return element of o corresponding to the object, key, or NULL --- 1191,1197 ---- */ #define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL) ! PyAPI_FUNC(PyObject *) PyMapping_GetItemString(PyObject *o, char *key); /* Return element of o corresponding to the object, key, or NULL *************** *** 1199,1205 **** o[key]. */ ! DL_IMPORT(int) PyMapping_SetItemString(PyObject *o, char *key, PyObject *value); /* --- 1199,1205 ---- o[key]. */ ! PyAPI_FUNC(int) PyMapping_SetItemString(PyObject *o, char *key, PyObject *value); /* *************** *** 1209,1218 **** */ ! DL_IMPORT(int) PyObject_IsInstance(PyObject *object, PyObject *typeorclass); /* isinstance(object, typeorclass) */ ! DL_IMPORT(int) PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); /* issubclass(object, typeorclass) */ --- 1209,1218 ---- */ ! 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: Include/boolobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/boolobject.h,v retrieving revision 1.3 diff -c -r1.3 boolobject.h *** Include/boolobject.h 2 May 2002 20:23:27 -0000 1.3 --- Include/boolobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 9,15 **** typedef PyIntObject PyBoolObject; ! extern DL_IMPORT(PyTypeObject) PyBool_Type; #define PyBool_Check(x) ((x)->ob_type == &PyBool_Type) --- 9,15 ---- typedef PyIntObject PyBoolObject; ! PyAPI_DATA(PyTypeObject) PyBool_Type; #define PyBool_Check(x) ((x)->ob_type == &PyBool_Type) *************** *** 17,30 **** Don't forget to apply Py_INCREF() when returning either!!! */ /* Don't use these directly */ ! extern DL_IMPORT(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct; /* Use these macros */ #define Py_False ((PyObject *) &_Py_ZeroStruct) #define Py_True ((PyObject *) &_Py_TrueStruct) /* Function to return a bool from a C long */ ! extern DL_IMPORT(PyObject *) PyBool_FromLong(long); #ifdef __cplusplus } --- 17,30 ---- Don't forget to apply Py_INCREF() when returning either!!! */ /* Don't use these directly */ ! PyAPI_DATA(PyIntObject) _Py_ZeroStruct, _Py_TrueStruct; /* Use these macros */ #define Py_False ((PyObject *) &_Py_ZeroStruct) #define Py_True ((PyObject *) &_Py_TrueStruct) /* Function to return a bool from a C long */ ! PyAPI_FUNC(PyObject *) PyBool_FromLong(long); #ifdef __cplusplus } Index: Include/bufferobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/bufferobject.h,v retrieving revision 2.6 diff -c -r2.6 bufferobject.h *** Include/bufferobject.h 1 Sep 2000 23:29:26 -0000 2.6 --- Include/bufferobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 10,31 **** #endif ! extern DL_IMPORT(PyTypeObject) PyBuffer_Type; #define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type) #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 } --- 10,31 ---- #endif ! PyAPI_DATA(PyTypeObject) PyBuffer_Type; #define PyBuffer_Check(op) ((op)->ob_type == &PyBuffer_Type) #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: Include/cellobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/cellobject.h,v retrieving revision 2.2 diff -c -r2.2 cellobject.h *** Include/cellobject.h 28 Feb 2002 23:46:34 -0000 2.2 --- Include/cellobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 11,23 **** PyObject *ob_ref; } 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) #define PyCell_SET(op, v) (((PyCellObject *)(op))->ob_ref = v) --- 11,23 ---- PyObject *ob_ref; } 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) #define PyCell_SET(op, v) (((PyCellObject *)(op))->ob_ref = v) Index: Include/ceval.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/ceval.h,v retrieving revision 2.44 diff -c -r2.44 ceval.h *** Include/ceval.h 2 Aug 2001 04:15:00 -0000 2.44 --- Include/ceval.h 31 Jul 2002 15:44:51 -0000 *************** *** 7,52 **** /* 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 */ #define PyEval_CallObject(func,arg) \ 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. --- 7,52 ---- /* 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 */ #define PyEval_CallObject(func,arg) \ 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. *************** *** 93,109 **** mechanism! */ ! 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 { \ PyThreadState *_save; \ --- 93,109 ---- mechanism! */ ! 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 { \ PyThreadState *_save; \ *************** *** 122,128 **** #endif /* !WITH_THREAD */ ! extern DL_IMPORT(int) _PyEval_SliceIndex(PyObject *, int *); #ifdef __cplusplus --- 122,128 ---- #endif /* !WITH_THREAD */ ! PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, int *); #ifdef __cplusplus Index: Include/classobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/classobject.h,v retrieving revision 2.40 diff -c -r2.40 classobject.h *** Include/classobject.h 7 Dec 2001 21:54:33 -0000 2.40 --- Include/classobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 35,55 **** PyObject *im_weakreflist; /* List of weak references */ } PyMethodObject; ! extern DL_IMPORT(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type; #define PyClass_Check(op) ((op)->ob_type == &PyClass_Type) #define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type) #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* done, so use with care. */ --- 35,55 ---- PyObject *im_weakreflist; /* List of weak references */ } PyMethodObject; ! PyAPI_DATA(PyTypeObject) PyClass_Type, PyInstance_Type, PyMethod_Type; #define PyClass_Check(op) ((op)->ob_type == &PyClass_Type) #define PyInstance_Check(op) ((op)->ob_type == &PyInstance_Type) #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* done, so use with care. */ *************** *** 60,66 **** #define PyMethod_GET_CLASS(meth) \ (((PyMethodObject *)meth) -> im_class) ! extern DL_IMPORT(int) PyClass_IsSubclass(PyObject *, PyObject *); #ifdef __cplusplus --- 60,66 ---- #define PyMethod_GET_CLASS(meth) \ (((PyMethodObject *)meth) -> im_class) ! PyAPI_FUNC(int) PyClass_IsSubclass(PyObject *, PyObject *); #ifdef __cplusplus Index: Include/cobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/cobject.h,v retrieving revision 2.10 diff -c -r2.10 cobject.h *** Include/cobject.h 1 Sep 2000 23:29:26 -0000 2.10 --- Include/cobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 14,20 **** extern "C" { #endif ! extern DL_IMPORT(PyTypeObject) PyCObject_Type; #define PyCObject_Check(op) ((op)->ob_type == &PyCObject_Type) --- 14,20 ---- extern "C" { #endif ! PyAPI_DATA(PyTypeObject) PyCObject_Type; #define PyCObject_Check(op) ((op)->ob_type == &PyCObject_Type) *************** *** 24,31 **** destroyed. */ ! extern DL_IMPORT(PyObject *) ! PyCObject_FromVoidPtr(void *cobj, void (*destruct)(void*)); /* Create a PyCObject from a pointer to a C object, a description object, --- 24,31 ---- destroyed. */ ! PyAPI_FUNC(PyObject *) PyCObject_FromVoidPtr( ! void *cobj, void (*destruct)(void*)); /* Create a PyCObject from a pointer to a C object, a description object, *************** *** 33,53 **** then it will be called with the first and second arguments if and when 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 } --- 33,49 ---- then it will be called with the first and second arguments if and when 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: Include/codecs.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/codecs.h,v retrieving revision 2.3 diff -c -r2.3 codecs.h *** Include/codecs.h 3 Aug 2000 16:24:24 -0000 2.3 --- Include/codecs.h 31 Jul 2002 15:44:51 -0000 *************** *** 23,29 **** The search_function's refcount is incremented by this function. */ ! extern DL_IMPORT(int) PyCodec_Register( PyObject *search_function ); --- 23,29 ---- The search_function's refcount is incremented by this function. */ ! PyAPI_FUNC(int) PyCodec_Register( PyObject *search_function ); *************** *** 45,51 **** */ ! extern DL_IMPORT(PyObject *) _PyCodec_Lookup( const char *encoding ); --- 45,51 ---- */ ! PyAPI_FUNC(PyObject *) _PyCodec_Lookup( const char *encoding ); *************** *** 59,65 **** */ ! extern DL_IMPORT(PyObject *) PyCodec_Encode( PyObject *object, const char *encoding, const char *errors --- 59,65 ---- */ ! PyAPI_FUNC(PyObject *) PyCodec_Encode( PyObject *object, const char *encoding, const char *errors *************** *** 75,81 **** */ ! extern DL_IMPORT(PyObject *) PyCodec_Decode( PyObject *object, const char *encoding, const char *errors --- 75,81 ---- */ ! PyAPI_FUNC(PyObject *) PyCodec_Decode( PyObject *object, const char *encoding, const char *errors *************** *** 91,109 **** /* Get an encoder function for the given encoding. */ ! extern DL_IMPORT(PyObject *) PyCodec_Encoder( const char *encoding ); /* Get a decoder function for the given encoding. */ ! extern DL_IMPORT(PyObject *) PyCodec_Decoder( const char *encoding ); /* Get a StreamReader factory function for the given encoding. */ ! extern DL_IMPORT(PyObject *) PyCodec_StreamReader( const char *encoding, PyObject *stream, const char *errors --- 91,109 ---- /* Get an encoder function for the given encoding. */ ! PyAPI_FUNC(PyObject *) PyCodec_Encoder( const char *encoding ); /* Get a decoder function for the given encoding. */ ! PyAPI_FUNC(PyObject *) PyCodec_Decoder( const char *encoding ); /* Get a StreamReader factory function for the given encoding. */ ! PyAPI_FUNC(PyObject *) PyCodec_StreamReader( const char *encoding, PyObject *stream, const char *errors *************** *** 111,117 **** /* Get a StreamWriter factory function for the given encoding. */ ! extern DL_IMPORT(PyObject *) PyCodec_StreamWriter( const char *encoding, PyObject *stream, const char *errors --- 111,117 ---- /* Get a StreamWriter factory function for the given encoding. */ ! PyAPI_FUNC(PyObject *) PyCodec_StreamWriter( const char *encoding, PyObject *stream, const char *errors Index: Include/compile.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/compile.h,v retrieving revision 2.37 diff -c -r2.37 compile.h *** Include/compile.h 12 Apr 2002 01:20:09 -0000 2.37 --- Include/compile.h 31 Jul 2002 15:44:51 -0000 *************** *** 43,49 **** #define CO_GENERATOR_ALLOWED 0x1000 /* no longer used in an essential way */ #define CO_FUTURE_DIVISION 0x2000 ! extern DL_IMPORT(PyTypeObject) PyCode_Type; #define PyCode_Check(op) ((op)->ob_type == &PyCode_Type) #define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars)) --- 43,49 ---- #define CO_GENERATOR_ALLOWED 0x1000 /* no longer used in an essential way */ #define CO_FUTURE_DIVISION 0x2000 ! PyAPI_DATA(PyTypeObject) PyCode_Type; #define PyCode_Check(op) ((op)->ob_type == &PyCode_Type) #define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars)) *************** *** 52,63 **** /* 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 */ --- 52,63 ---- /* 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 */ *************** *** 67,74 **** int ff_features; } PyFutureFeatures; ! DL_IMPORT(PyFutureFeatures *) PyNode_Future(struct _node *, char *); ! DL_IMPORT(PyCodeObject *) PyNode_CompileFlags(struct _node *, char *, PyCompilerFlags *); #define FUTURE_NESTED_SCOPES "nested_scopes" --- 67,74 ---- int ff_features; } PyFutureFeatures; ! PyAPI_FUNC(PyFutureFeatures *) PyNode_Future(struct _node *, char *); ! PyAPI_FUNC(PyCodeObject *) PyNode_CompileFlags(struct _node *, char *, PyCompilerFlags *); #define FUTURE_NESTED_SCOPES "nested_scopes" Index: Include/complexobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/complexobject.h,v retrieving revision 2.9 diff -c -r2.9 complexobject.h *** Include/complexobject.h 12 Sep 2001 19:12:48 -0000 2.9 --- Include/complexobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 20,31 **** #define c_quot _Py_c_quot #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); /* Complex object interface */ --- 20,31 ---- #define c_quot _Py_c_quot #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); /* Complex object interface */ *************** *** 40,56 **** Py_complex cval; } 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 } --- 40,56 ---- Py_complex cval; } 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: Include/descrobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/descrobject.h,v retrieving revision 2.9 diff -c -r2.9 descrobject.h *** Include/descrobject.h 30 Mar 2002 08:57:12 -0000 2.9 --- Include/descrobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 67,88 **** void *d_wrapped; /* This can be any function pointer */ } 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 } #endif --- 67,88 ---- void *d_wrapped; /* This can be any function pointer */ } 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 } #endif Index: Include/dictobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/dictobject.h,v retrieving revision 2.24 diff -c -r2.24 dictobject.h *** Include/dictobject.h 11 Apr 2002 20:41:18 -0000 2.24 --- Include/dictobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 78,109 **** PyDictEntry ma_smalltable[PyDict_MINSIZE]; }; ! 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 supports PyMapping_Keys() and PyObject_GetItem()). If override is true, the last occurrence of a key wins, else the first. The Python dict.update(other) is equivalent to PyDict_Merge(dict, other, 1). */ ! extern DL_IMPORT(int) PyDict_Merge(PyObject *mp, PyObject *other, int override); --- 78,109 ---- PyDictEntry ma_smalltable[PyDict_MINSIZE]; }; ! 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 supports PyMapping_Keys() and PyObject_GetItem()). If override is true, the last occurrence of a key wins, else the first. The Python dict.update(other) is equivalent to PyDict_Merge(dict, other, 1). */ ! PyAPI_FUNC(int) PyDict_Merge(PyObject *mp, PyObject *other, int override); *************** *** 112,124 **** of a key wins, else the first. The Python dict constructor dict(seq2) 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 } --- 112,124 ---- of a key wins, else the first. The Python dict constructor dict(seq2) 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: Include/enumobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/enumobject.h,v retrieving revision 2.1 diff -c -r2.1 enumobject.h *** Include/enumobject.h 26 Apr 2002 19:40:56 -0000 2.1 --- Include/enumobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 7,13 **** extern "C" { #endif ! extern DL_IMPORT(PyTypeObject) PyEnum_Type; #ifdef __cplusplus } --- 7,13 ---- extern "C" { #endif ! PyAPI_DATA(PyTypeObject) PyEnum_Type; #ifdef __cplusplus } Index: Include/eval.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/eval.h,v retrieving revision 2.15 diff -c -r2.15 eval.h *** Include/eval.h 2 Aug 2001 04:15:00 -0000 2.15 --- Include/eval.h 31 Jul 2002 15:44:51 -0000 *************** *** 7,15 **** extern "C" { #endif ! DL_IMPORT(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *); ! DL_IMPORT(PyObject *) PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals, PyObject **args, int argc, --- 7,15 ---- extern "C" { #endif ! PyAPI_FUNC(PyObject *) PyEval_EvalCode(PyCodeObject *, PyObject *, PyObject *); ! PyAPI_FUNC(PyObject *) PyEval_EvalCodeEx(PyCodeObject *co, PyObject *globals, PyObject *locals, PyObject **args, int argc, Index: Include/fileobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/fileobject.h,v retrieving revision 2.29 diff -c -r2.29 fileobject.h *** Include/fileobject.h 24 May 2002 15:24:38 -0000 2.29 --- Include/fileobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 23,49 **** #endif } 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 /* Routines to replace fread() and fgets() which accept any of \r, \n --- 23,49 ---- #endif } 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 /* Routines to replace fread() and fgets() which accept any of \r, \n Index: Include/floatobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/floatobject.h,v retrieving revision 2.20 diff -c -r2.20 floatobject.h *** Include/floatobject.h 10 Sep 2001 21:28:20 -0000 2.20 --- Include/floatobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 16,22 **** double ob_fval; } PyFloatObject; ! extern DL_IMPORT(PyTypeObject) PyFloat_Type; #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type) #define PyFloat_CheckExact(op) ((op)->ob_type == &PyFloat_Type) --- 16,22 ---- double ob_fval; } PyFloatObject; ! PyAPI_DATA(PyTypeObject) PyFloat_Type; #define PyFloat_Check(op) PyObject_TypeCheck(op, &PyFloat_Type) #define PyFloat_CheckExact(op) ((op)->ob_type == &PyFloat_Type) *************** *** 24,51 **** /* Return Python float from string PyObject. Second argument ignored on 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) /* Write repr(v) into the char buffer argument, followed by null byte. The buffer must be "big enough"; >= 100 is very safe. 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 buffer must be "big enough"; >= 100 is very safe. Note that it's unusual to be able to get back the float you started with from 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 } --- 24,51 ---- /* Return Python float from string PyObject. Second argument ignored on 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) /* Write repr(v) into the char buffer argument, followed by null byte. The buffer must be "big enough"; >= 100 is very safe. 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 buffer must be "big enough"; >= 100 is very safe. Note that it's unusual to be able to get back the float you started with from 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: Include/frameobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/frameobject.h,v retrieving revision 2.35 diff -c -r2.35 frameobject.h *** Include/frameobject.h 14 Jul 2002 00:27:25 -0000 2.35 --- Include/frameobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 44,54 **** /* 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 *); --- 44,54 ---- /* 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 *); *************** *** 56,72 **** /* 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 } --- 56,72 ---- /* 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: Include/funcobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/funcobject.h,v retrieving revision 2.24 diff -c -r2.24 funcobject.h *** Include/funcobject.h 2 Aug 2001 04:15:00 -0000 2.24 --- Include/funcobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 19,35 **** PyObject *func_weakreflist; } 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* done, so use with care. */ --- 19,35 ---- PyObject *func_weakreflist; } 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* done, so use with care. */ *************** *** 43,53 **** (((PyFunctionObject *)func) -> func_closure) /* 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 } --- 43,53 ---- (((PyFunctionObject *)func) -> func_closure) /* 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: Include/intobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/intobject.h,v retrieving revision 2.25 diff -c -r2.25 intobject.h *** Include/intobject.h 3 Apr 2002 22:41:50 -0000 2.25 --- Include/intobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 25,54 **** long ob_ival; } 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 */ #define PyInt_AS_LONG(op) (((PyIntObject *)(op))->ob_ival) /* 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 } --- 25,54 ---- long ob_ival; } 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 */ #define PyInt_AS_LONG(op) (((PyIntObject *)(op))->ob_ival) /* 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: Include/intrcheck.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/intrcheck.h,v retrieving revision 2.9 diff -c -r2.9 intrcheck.h *** Include/intrcheck.h 1 Sep 2000 23:29:26 -0000 2.9 --- Include/intrcheck.h 31 Jul 2002 15:44:51 -0000 *************** *** 5,13 **** extern "C" { #endif ! extern DL_IMPORT(int) PyOS_InterruptOccurred(void); ! extern DL_IMPORT(void) PyOS_InitInterrupts(void); ! DL_IMPORT(void) PyOS_AfterFork(void); #ifdef __cplusplus } --- 5,13 ---- extern "C" { #endif ! PyAPI_FUNC(int) PyOS_InterruptOccurred(void); ! PyAPI_FUNC(void) PyOS_InitInterrupts(void); ! PyAPI_FUNC(void) PyOS_AfterFork(void); #ifdef __cplusplus } Index: Include/iterobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/iterobject.h,v retrieving revision 1.4 diff -c -r1.4 iterobject.h *** Include/iterobject.h 30 Mar 2002 08:57:12 -0000 1.4 --- Include/iterobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 5,21 **** extern "C" { #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 } #endif --- 5,21 ---- extern "C" { #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 } #endif Index: Include/listobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/listobject.h,v retrieving revision 2.23 diff -c -r2.23 listobject.h *** Include/listobject.h 5 Oct 2001 20:41:38 -0000 2.23 --- Include/listobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 24,45 **** PyObject **ob_item; } 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 */ #define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i]) --- 24,45 ---- PyObject **ob_item; } 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 */ #define PyList_GET_ITEM(op, i) (((PyListObject *)(op))->ob_item[i]) Index: Include/longintrepr.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/longintrepr.h,v retrieving revision 2.13 diff -c -r2.13 longintrepr.h *** Include/longintrepr.h 2 Mar 2002 04:33:09 -0000 2.13 --- Include/longintrepr.h 31 Jul 2002 15:44:51 -0000 *************** *** 47,56 **** digit ob_digit[1]; }; ! DL_IMPORT(PyLongObject *) _PyLong_New(int); /* Return a copy of src. */ ! DL_IMPORT(PyObject *) _PyLong_Copy(PyLongObject *src); #ifdef __cplusplus } --- 47,56 ---- digit ob_digit[1]; }; ! PyAPI_FUNC(PyLongObject *) _PyLong_New(int); /* Return a copy of src. */ ! PyAPI_FUNC(PyObject *) _PyLong_Copy(PyLongObject *src); #ifdef __cplusplus } Index: Include/longobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/longobject.h,v retrieving revision 2.25 diff -c -r2.25 longobject.h *** Include/longobject.h 12 Jul 2002 05:01:20 -0000 2.25 --- Include/longobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 9,24 **** 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 the true value is approximately equal to x * 2**(SHIFT*e). e is >= 0. --- 9,24 ---- 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 the true value is approximately equal to x * 2**(SHIFT*e). e is >= 0. *************** *** 26,47 **** zeroes). Overflow is impossible. Note that the exponent returned must 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 /* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in --- 26,47 ---- zeroes). Overflow is impossible. Note that the exponent returned must 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 /* _PyLong_FromByteArray: View the n unsigned bytes as a binary integer in *************** *** 57,63 **** + Return NULL with the appropriate exception set if there's not 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); --- 57,63 ---- + Return NULL with the appropriate exception set if there's not 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); *************** *** 80,86 **** being large enough to hold a sign bit. OverflowError is set in this 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); --- 80,86 ---- being large enough to hold a sign bit. OverflowError is set in this 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: Include/marshal.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/marshal.h,v retrieving revision 2.11 diff -c -r2.11 marshal.h *** Include/marshal.h 28 Jan 2001 00:27:39 -0000 2.11 --- Include/marshal.h 31 Jul 2002 15:44:51 -0000 *************** *** 7,22 **** extern "C" { #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 } --- 7,22 ---- extern "C" { #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: Include/methodobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/methodobject.h,v retrieving revision 2.24 diff -c -r2.24 methodobject.h *** Include/methodobject.h 28 Mar 2002 05:33:33 -0000 2.24 --- Include/methodobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 7,13 **** extern "C" { #endif ! extern DL_IMPORT(PyTypeObject) PyCFunction_Type; #define PyCFunction_Check(op) ((op)->ob_type == &PyCFunction_Type) --- 7,13 ---- extern "C" { #endif ! PyAPI_DATA(PyTypeObject) PyCFunction_Type; #define PyCFunction_Check(op) ((op)->ob_type == &PyCFunction_Type) *************** *** 16,24 **** PyObject *); 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* done, so use with care. */ --- 16,24 ---- PyObject *); 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* done, so use with care. */ *************** *** 28,34 **** (((PyCFunctionObject *)func) -> m_self) #define PyCFunction_GET_FLAGS(func) \ (((PyCFunctionObject *)func) -> m_ml -> ml_flags) ! extern DL_IMPORT(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *); struct PyMethodDef { char *ml_name; --- 28,34 ---- (((PyCFunctionObject *)func) -> m_self) #define PyCFunction_GET_FLAGS(func) \ (((PyCFunctionObject *)func) -> m_ml -> ml_flags) ! PyAPI_FUNC(PyObject *) PyCFunction_Call(PyObject *, PyObject *, PyObject *); struct PyMethodDef { char *ml_name; *************** *** 38,46 **** }; 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 */ #define METH_OLDARGS 0x0000 --- 38,46 ---- }; typedef struct PyMethodDef PyMethodDef; ! PyAPI_FUNC(PyObject *) Py_FindMethod(PyMethodDef[], PyObject *, char *); ! PyAPI_FUNC(PyObject *) PyCFunction_New(PyMethodDef *, PyObject *); /* Flag passed to newmethodobject */ #define METH_OLDARGS 0x0000 *************** *** 61,67 **** struct PyMethodChain *link; /* NULL or base type */ } PyMethodChain; ! extern DL_IMPORT(PyObject *) Py_FindMethodInChain(PyMethodChain *, PyObject *, char *); typedef struct { --- 61,67 ---- struct PyMethodChain *link; /* NULL or base type */ } PyMethodChain; ! PyAPI_FUNC(PyObject *) Py_FindMethodInChain(PyMethodChain *, PyObject *, char *); typedef struct { Index: Include/modsupport.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/modsupport.h,v retrieving revision 2.38 diff -c -r2.38 modsupport.h *** Include/modsupport.h 23 Oct 2001 21:09:29 -0000 2.38 --- Include/modsupport.h 31 Jul 2002 15:44:51 -0000 *************** *** 9,27 **** #include ! 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 #define PYTHON_API_STRING "1011" --- 9,27 ---- #include ! 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 #define PYTHON_API_STRING "1011" *************** *** 78,84 **** #define Py_InitModule4 Py_InitModule4TraceRefs #endif ! extern DL_IMPORT(PyObject *) Py_InitModule4(char *name, PyMethodDef *methods, char *doc, PyObject *self, int apiver); --- 78,84 ---- #define Py_InitModule4 Py_InitModule4TraceRefs #endif ! PyAPI_FUNC(PyObject *) Py_InitModule4(char *name, PyMethodDef *methods, char *doc, PyObject *self, int apiver); *************** *** 90,96 **** Py_InitModule4(name, methods, doc, (PyObject *)NULL, \ PYTHON_API_VERSION) ! extern DL_IMPORT(char *) _Py_PackageContext; #ifdef __cplusplus } --- 90,96 ---- Py_InitModule4(name, methods, doc, (PyObject *)NULL, \ PYTHON_API_VERSION) ! PyAPI_DATA(char *) _Py_PackageContext; #ifdef __cplusplus } Index: Include/moduleobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/moduleobject.h,v retrieving revision 2.19 diff -c -r2.19 moduleobject.h *** Include/moduleobject.h 13 Sep 2001 05:38:55 -0000 2.19 --- Include/moduleobject.h 31 Jul 2002 15:44:51 -0000 *************** *** 7,22 **** extern "C" { #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 } --- 7,22 ---- extern "C" { #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: Include/node.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/node.h,v retrieving revision 2.19 diff -c -r2.19 node.h *** Include/node.h 15 Oct 2001 17:23:13 -0000 2.19 --- Include/node.h 31 Jul 2002 15:44:51 -0000 *************** *** 15,24 **** struct _node *n_child; } 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 */ #define NCH(n) ((n)->n_nchildren) --- 15,24 ---- struct _node *n_child; } 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 */ #define NCH(n) ((n)->n_nchildren) *************** *** 29,35 **** /* Assert that the type of a node is what we expect */ #define REQ(n, type) assert(TYPE(n) == (type)) ! extern DL_IMPORT(void) PyNode_ListTree(node *); #ifdef __cplusplus } --- 29,35 ---- /* Assert that the type of a node is what we expect */ #define REQ(n, type) assert(TYPE(n) == (type)) ! PyAPI_FUNC(void) PyNode_ListTree(node *); #ifdef __cplusplus } Index: Include/objimpl.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/objimpl.h,v retrieving revision 2.56 diff -c -r2.56 objimpl.h *** Include/objimpl.h 7 Jul 2002 03:59:33 -0000 2.56 --- Include/objimpl.h 31 Jul 2002 15:44:52 -0000 *************** *** 94,113 **** the object gets initialized via PyObject_{Init, InitVar} after obtaining 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 *); /* Macros */ #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 #define PyObject_REALLOC _PyObject_DebugRealloc --- 94,113 ---- the object gets initialized via PyObject_{Init, InitVar} after obtaining the raw memory. */ ! PyAPI_FUNC(void *) PyObject_Malloc(size_t); ! PyAPI_FUNC(void *) PyObject_Realloc(void *, size_t); ! PyAPI_FUNC(void) PyObject_Free(void *); /* Macros */ #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 #define PyObject_REALLOC _PyObject_DebugRealloc *************** *** 144,154 **** */ /* 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) \ ( (type *) _PyObject_New(typeobj) ) --- 144,154 ---- */ /* 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) \ ( (type *) _PyObject_New(typeobj) ) *************** *** 235,241 **** #define PyObject_IS_GC(o) (PyType_IS_GC((o)->ob_type) && \ ((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)) ) --- 235,241 ---- #define PyObject_IS_GC(o) (PyType_IS_GC((o)->ob_type) && \ ((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)) ) *************** *** 286,297 **** g->gc.gc_next = NULL; \ } 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) \ ( (type *) _PyObject_GC_New(typeobj) ) --- 286,297 ---- g->gc.gc_next = NULL; \ } 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) \ ( (type *) _PyObject_GC_New(typeobj) ) Index: Include/parsetok.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/parsetok.h,v retrieving revision 2.18 diff -c -r2.18 parsetok.h *** Include/parsetok.h 9 Jul 2002 09:23:26 -0000 2.18 --- Include/parsetok.h 31 Jul 2002 15:44:52 -0000 *************** *** 21,38 **** #define PyPARSE_YIELD_IS_KEYWORD 0x0001 #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, perrdetail *, int); --- 21,38 ---- #define PyPARSE_YIELD_IS_KEYWORD 0x0001 #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, perrdetail *, int); Index: Include/pgenheaders.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pgenheaders.h,v retrieving revision 2.28 diff -c -r2.28 pgenheaders.h *** Include/pgenheaders.h 22 Apr 2002 02:33:27 -0000 2.28 --- Include/pgenheaders.h 31 Jul 2002 15:44:52 -0000 *************** *** 9,17 **** #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))); #define addarc _Py_addarc --- 9,17 ---- #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))); #define addarc _Py_addarc Index: Include/pyerrors.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pyerrors.h,v retrieving revision 2.55 diff -c -r2.55 pyerrors.h *** Include/pyerrors.h 29 Jul 2002 14:27:40 -0000 2.55 --- Include/pyerrors.h 31 Jul 2002 15:44:52 -0000 *************** *** 7,117 **** /* 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: */ #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__) /* 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 often needed to format error messages; the native C lib APIs are --- 7,117 ---- /* 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: */ #define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__) /* 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 often needed to format error messages; the native C lib APIs are *************** *** 128,136 **** #endif #include ! 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))); #ifdef __cplusplus --- 128,136 ---- #endif #include ! 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))); #ifdef __cplusplus Index: Include/pygetopt.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pygetopt.h,v retrieving revision 2.1 diff -c -r2.1 pygetopt.h *** Include/pygetopt.h 3 Nov 2000 08:18:37 -0000 2.1 --- Include/pygetopt.h 31 Jul 2002 15:44:52 -0000 *************** *** 5,15 **** extern "C" { #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 } --- 5,15 ---- extern "C" { #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: Include/pymem.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pymem.h,v retrieving revision 2.15 diff -c -r2.15 pymem.h *** Include/pymem.h 28 Apr 2002 04:11:46 -0000 2.15 --- Include/pymem.h 31 Jul 2002 15:44:52 -0000 *************** *** 47,55 **** performed on failure (no exception is set, no warning is printed, etc). */ ! 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 no longer supported. They used to call PyErr_NoMemory() on failure. */ --- 47,55 ---- performed on failure (no exception is set, no warning is printed, etc). */ ! 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 no longer supported. They used to call PyErr_NoMemory() on failure. */ Index: Include/pystate.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pystate.h,v retrieving revision 2.18 diff -c -r2.18 pystate.h *** Include/pystate.h 19 Jul 2001 12:19:11 -0000 2.18 --- Include/pystate.h 31 Jul 2002 15:44:52 -0000 *************** *** 74,98 **** } PyThreadState; ! 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 #define PyThreadState_GET() PyThreadState_Get() --- 74,98 ---- } PyThreadState; ! 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 #define PyThreadState_GET() PyThreadState_Get() *************** *** 102,111 **** /* 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 } --- 102,111 ---- /* 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: Include/pythonrun.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pythonrun.h,v retrieving revision 2.51 diff -c -r2.51 pythonrun.h *** Include/pythonrun.h 29 Jul 2002 13:42:06 -0000 2.51 --- Include/pythonrun.h 31 Jul 2002 15:44:53 -0000 *************** *** 14,82 **** int cf_flags; /* bitmask of CO_xxx flags relevant to future */ } 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 *); /* In getpath.c */ PyAPI_FUNC(char *) Py_GetProgramFullPath(void); --- 14,82 ---- int cf_flags; /* bitmask of CO_xxx flags relevant to future */ } 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 *); /* In getpath.c */ PyAPI_FUNC(char *) Py_GetProgramFullPath(void); *************** *** 92,100 **** PyAPI_FUNC(const char *) Py_GetBuildInfo(void); /* 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); /* Various internal finalizers */ --- 92,100 ---- PyAPI_FUNC(const char *) Py_GetBuildInfo(void); /* 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); /* Various internal finalizers */ *************** *** 110,118 **** PyAPI_FUNC(void) PyOS_FiniInterrupts(void); /* 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 on 64-bit platforms). On a 32-bit platform, this translates --- 110,118 ---- PyAPI_FUNC(void) PyOS_FiniInterrupts(void); /* 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 on 64-bit platforms). On a 32-bit platform, this translates *************** *** 126,138 **** #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); #ifdef __cplusplus --- 126,138 ---- #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); #ifdef __cplusplus Index: Include/pythread.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/pythread.h,v retrieving revision 2.19 diff -c -r2.19 pythread.h *** Include/pythread.h 19 Jan 2002 22:02:54 -0000 2.19 --- Include/pythread.h 31 Jul 2002 15:44:53 -0000 *************** *** 12,39 **** extern "C" { #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 } --- 12,39 ---- extern "C" { #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: Include/rangeobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/rangeobject.h,v retrieving revision 2.18 diff -c -r2.18 rangeobject.h *** Include/rangeobject.h 9 Jul 2001 12:30:54 -0000 2.18 --- Include/rangeobject.h 31 Jul 2002 15:44:53 -0000 *************** *** 15,25 **** they are represented by a start, stop, and step datamembers. */ ! 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 } --- 15,25 ---- they are represented by a start, stop, and step datamembers. */ ! 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: Include/sliceobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/sliceobject.h,v retrieving revision 2.6 diff -c -r2.6 sliceobject.h *** Include/sliceobject.h 11 Jun 2002 10:55:09 -0000 2.6 --- Include/sliceobject.h 31 Jul 2002 15:44:53 -0000 *************** *** 6,12 **** /* The unique ellipsis object "..." */ ! extern DL_IMPORT(PyObject) _Py_EllipsisObject; /* Don't use this directly */ #define Py_Ellipsis (&_Py_EllipsisObject) --- 6,12 ---- /* The unique ellipsis object "..." */ ! PyAPI_DATA(PyObject) _Py_EllipsisObject; /* Don't use this directly */ #define Py_Ellipsis (&_Py_EllipsisObject) *************** *** 24,38 **** PyObject *start, *stop, *step; } 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); --- 24,38 ---- PyObject *start, *stop, *step; } 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: Include/stringobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/stringobject.h,v retrieving revision 2.34 diff -c -r2.34 stringobject.h *** Include/stringobject.h 24 May 2002 19:01:57 -0000 2.34 --- Include/stringobject.h 31 Jul 2002 15:44:53 -0000 *************** *** 39,69 **** char ob_sval[1]; } 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 */ #define PyString_AS_STRING(op) (((PyStringObject *)(op))->ob_sval) --- 39,69 ---- char ob_sval[1]; } 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 */ #define PyString_AS_STRING(op) (((PyStringObject *)(op))->ob_sval) *************** *** 71,84 **** /* _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 ----------------------------------------------------- */ /* Create an object by decoding the encoded string s of the given size. */ ! extern DL_IMPORT(PyObject*) PyString_Decode( const char *s, /* encoded string */ int size, /* size of buffer */ const char *encoding, /* encoding */ --- 71,84 ---- /* _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 ----------------------------------------------------- */ /* Create an object by decoding the encoded string s of the given size. */ ! PyAPI_FUNC(PyObject*) PyString_Decode( const char *s, /* encoded string */ int size, /* size of buffer */ const char *encoding, /* encoding */ *************** *** 88,94 **** /* Encodes a char buffer of the given size and returns a Python object. */ ! extern DL_IMPORT(PyObject*) PyString_Encode( const char *s, /* string char buffer */ int size, /* number of chars to encode */ const char *encoding, /* encoding */ --- 88,94 ---- /* Encodes a char buffer of the given size and returns a Python object. */ ! PyAPI_FUNC(PyObject*) PyString_Encode( const char *s, /* string char buffer */ int size, /* number of chars to encode */ const char *encoding, /* encoding */ *************** *** 98,104 **** /* Encodes a string object and returns the result as Python object. */ ! extern DL_IMPORT(PyObject*) PyString_AsEncodedObject( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ --- 98,104 ---- /* Encodes a string object and returns the result as Python object. */ ! PyAPI_FUNC(PyObject*) PyString_AsEncodedObject( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ *************** *** 112,118 **** DEPRECATED - use PyString_AsEncodedObject() instead. */ ! extern DL_IMPORT(PyObject*) PyString_AsEncodedString( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ --- 112,118 ---- DEPRECATED - use PyString_AsEncodedObject() instead. */ ! PyAPI_FUNC(PyObject*) PyString_AsEncodedString( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ *************** *** 121,127 **** /* Decodes a string object and returns the result as Python object. */ ! extern DL_IMPORT(PyObject*) PyString_AsDecodedObject( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ --- 121,127 ---- /* Decodes a string object and returns the result as Python object. */ ! PyAPI_FUNC(PyObject*) PyString_AsDecodedObject( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ *************** *** 135,141 **** DEPRECATED - use PyString_AsDecodedObject() instead. */ ! extern DL_IMPORT(PyObject*) PyString_AsDecodedString( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ --- 135,141 ---- DEPRECATED - use PyString_AsDecodedObject() instead. */ ! PyAPI_FUNC(PyObject*) PyString_AsDecodedString( PyObject *str, /* string object */ const char *encoding, /* encoding */ const char *errors /* error handling */ *************** *** 147,153 **** 0-terminated (passing a string with embedded NULL characters will cause an exception). */ ! extern DL_IMPORT(int) PyString_AsStringAndSize( register PyObject *obj, /* string or Unicode object */ register char **s, /* pointer to buffer variable */ register int *len /* pointer to length variable or NULL --- 147,153 ---- 0-terminated (passing a string with embedded NULL characters will cause an exception). */ ! PyAPI_FUNC(int) PyString_AsStringAndSize( register PyObject *obj, /* string or Unicode object */ register char **s, /* pointer to buffer variable */ register int *len /* pointer to length variable or NULL Index: Include/structmember.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/structmember.h,v retrieving revision 2.19 diff -c -r2.19 structmember.h *** Include/structmember.h 4 Dec 2001 16:23:42 -0000 2.19 --- Include/structmember.h 31 Jul 2002 15:44:53 -0000 *************** *** 81,92 **** /* 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 *); #ifdef __cplusplus --- 81,92 ---- /* 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 *); #ifdef __cplusplus Index: Include/structseq.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/structseq.h,v retrieving revision 1.1 diff -c -r1.1 structseq.h *** Include/structseq.h 18 Oct 2001 20:34:25 -0000 1.1 --- Include/structseq.h 31 Jul 2002 15:44:53 -0000 *************** *** 19,28 **** int n_in_sequence; } PyStructSequence_Desc; ! extern DL_IMPORT(void) PyStructSequence_InitType(PyTypeObject *type, PyStructSequence_Desc *desc); ! extern DL_IMPORT(PyObject *) PyStructSequence_New(PyTypeObject* type); typedef struct { PyObject_VAR_HEAD --- 19,28 ---- int n_in_sequence; } PyStructSequence_Desc; ! PyAPI_FUNC(void) PyStructSequence_InitType(PyTypeObject *type, PyStructSequence_Desc *desc); ! PyAPI_FUNC(PyObject *) PyStructSequence_New(PyTypeObject* type); typedef struct { PyObject_VAR_HEAD Index: Include/symtable.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/symtable.h,v retrieving revision 2.9 diff -c -r2.9 symtable.h *** Include/symtable.h 11 Aug 2001 21:51:17 -0000 2.9 --- Include/symtable.h 31 Jul 2002 15:44:53 -0000 *************** *** 50,64 **** struct symtable *ste_table; } 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 *); #define TOP "global" --- 50,64 ---- struct symtable *ste_table; } 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 *); #define TOP "global" Index: Include/sysmodule.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/sysmodule.h,v retrieving revision 2.24 diff -c -r2.24 sysmodule.h *** Include/sysmodule.h 23 Oct 2001 02:21:22 -0000 2.24 --- Include/sysmodule.h 31 Jul 2002 15:44:53 -0000 *************** *** 7,28 **** extern "C" { #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 } --- 7,28 ---- extern "C" { #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: Include/token.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/token.h,v retrieving revision 2.19 diff -c -r2.19 token.h *** Include/token.h 8 Aug 2001 05:00:17 -0000 2.19 --- Include/token.h 31 Jul 2002 15:44:53 -0000 *************** *** 71,80 **** #define ISEOF(x) ((x) == ENDMARKER) ! 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 } --- 71,80 ---- #define ISEOF(x) ((x) == ENDMARKER) ! 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: Include/traceback.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/traceback.h,v retrieving revision 2.19 diff -c -r2.19 traceback.h *** Include/traceback.h 19 Mar 2002 16:02:35 -0000 2.19 --- Include/traceback.h 31 Jul 2002 15:44:53 -0000 *************** *** 9,19 **** 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) #ifdef __cplusplus --- 9,19 ---- 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) #ifdef __cplusplus Index: Include/tupleobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/tupleobject.h,v retrieving revision 2.27 diff -c -r2.27 tupleobject.h *** Include/tupleobject.h 10 Sep 2001 23:37:46 -0000 2.27 --- Include/tupleobject.h 31 Jul 2002 15:44:53 -0000 *************** *** 24,40 **** PyObject *ob_item[1]; } 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 */ #define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i]) --- 24,40 ---- PyObject *ob_item[1]; } 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 */ #define PyTuple_GET_ITEM(op, i) (((PyTupleObject *)(op))->ob_item[i]) Index: Include/unicodeobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/unicodeobject.h,v retrieving revision 2.38 diff -c -r2.38 unicodeobject.h *** Include/unicodeobject.h 29 May 2002 11:33:13 -0000 2.38 --- Include/unicodeobject.h 31 Jul 2002 15:44:53 -0000 *************** *** 371,377 **** implementing the buffer protocol */ } PyUnicodeObject; ! extern DL_IMPORT(PyTypeObject) PyUnicode_Type; #define PyUnicode_Check(op) PyObject_TypeCheck(op, &PyUnicode_Type) #define PyUnicode_CheckExact(op) ((op)->ob_type == &PyUnicode_Type) --- 371,377 ---- implementing the buffer protocol */ } PyUnicodeObject; ! PyAPI_DATA(PyTypeObject) PyUnicode_Type; #define PyUnicode_Check(op) PyObject_TypeCheck(op, &PyUnicode_Type) #define PyUnicode_CheckExact(op) ((op)->ob_type == &PyUnicode_Type) *************** *** 409,415 **** 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 */ ); --- 409,415 ---- The buffer is copied into the new object. */ ! PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode( const Py_UNICODE *u, /* Unicode buffer */ int size /* size of buffer */ ); *************** *** 417,434 **** /* Return a read-only pointer to the Unicode object's internal Py_UNICODE buffer. */ ! extern DL_IMPORT(Py_UNICODE *) PyUnicode_AsUnicode( PyObject *unicode /* Unicode object */ ); /* 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. --- 417,434 ---- /* Return a read-only pointer to the Unicode object's internal Py_UNICODE buffer. */ ! PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode( PyObject *unicode /* Unicode object */ ); /* 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. *************** *** 444,450 **** */ ! extern DL_IMPORT(int) PyUnicode_Resize( PyObject **unicode, /* Pointer to the Unicode object */ int length /* New length */ ); --- 444,450 ---- */ ! PyAPI_FUNC(int) PyUnicode_Resize( PyObject **unicode, /* Pointer to the Unicode object */ int length /* New length */ ); *************** *** 466,472 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_FromEncodedObject( register PyObject *obj, /* Object */ const char *encoding, /* encoding */ const char *errors /* error handling */ --- 466,472 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_FromEncodedObject( register PyObject *obj, /* Object */ const char *encoding, /* encoding */ const char *errors /* error handling */ *************** *** 485,491 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_FromObject( register PyObject *obj /* Object */ ); --- 485,491 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_FromObject( register PyObject *obj /* Object */ ); *************** *** 498,504 **** 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 */ ); --- 498,504 ---- 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 */ ); *************** *** 509,515 **** Returns the number of wchar_t characters copied or -1 in case of an error. */ ! extern DL_IMPORT(int) PyUnicode_AsWideChar( PyUnicodeObject *unicode, /* Unicode object */ register wchar_t *w, /* wchar_t buffer */ int size /* size of buffer */ --- 509,515 ---- Returns the number of wchar_t characters copied or -1 in case of an error. */ ! PyAPI_FUNC(int) PyUnicode_AsWideChar( PyUnicodeObject *unicode, /* Unicode object */ register wchar_t *w, /* wchar_t buffer */ int size /* size of buffer */ *************** *** 551,557 **** */ ! extern DL_IMPORT(PyObject *) _PyUnicode_AsDefaultEncodedString( PyObject *, const char *); /* Returns the currently active default encoding. --- 551,557 ---- */ ! PyAPI_FUNC(PyObject *) _PyUnicode_AsDefaultEncodedString( PyObject *, const char *); /* Returns the currently active default encoding. *************** *** 563,569 **** */ ! extern DL_IMPORT(const char*) PyUnicode_GetDefaultEncoding(void); /* Sets the currently active default encoding. --- 563,569 ---- */ ! PyAPI_FUNC(const char*) PyUnicode_GetDefaultEncoding(void); /* Sets the currently active default encoding. *************** *** 571,577 **** */ ! extern DL_IMPORT(int) PyUnicode_SetDefaultEncoding( const char *encoding /* Encoding name in standard form */ ); --- 571,577 ---- */ ! PyAPI_FUNC(int) PyUnicode_SetDefaultEncoding( const char *encoding /* Encoding name in standard form */ ); *************** *** 580,586 **** /* Create a Unicode object by decoding the encoded string s of the given size. */ ! extern DL_IMPORT(PyObject*) PyUnicode_Decode( const char *s, /* encoded string */ int size, /* size of buffer */ const char *encoding, /* encoding */ --- 580,586 ---- /* Create a Unicode object by decoding the encoded string s of the given size. */ ! PyAPI_FUNC(PyObject*) PyUnicode_Decode( const char *s, /* encoded string */ int size, /* size of buffer */ const char *encoding, /* encoding */ *************** *** 590,596 **** /* Encodes a Py_UNICODE buffer of the given size and returns a 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 */ const char *encoding, /* encoding */ --- 590,596 ---- /* Encodes a Py_UNICODE buffer of the given size and returns a Python string object. */ ! PyAPI_FUNC(PyObject*) PyUnicode_Encode( const Py_UNICODE *s, /* Unicode char buffer */ int size, /* number of Py_UNICODE chars to encode */ const char *encoding, /* encoding */ *************** *** 600,606 **** /* Encodes a Unicode object and returns the result as Python string object. */ ! extern DL_IMPORT(PyObject*) PyUnicode_AsEncodedString( PyObject *unicode, /* Unicode object */ const char *encoding, /* encoding */ const char *errors /* error handling */ --- 600,606 ---- /* Encodes a Unicode object and returns the result as Python string object. */ ! PyAPI_FUNC(PyObject*) PyUnicode_AsEncodedString( PyObject *unicode, /* Unicode object */ const char *encoding, /* encoding */ const char *errors /* error handling */ *************** *** 608,620 **** /* --- UTF-7 Codecs ------------------------------------------------------- */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUTF7( const char *string, /* UTF-7 encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! extern DL_IMPORT(PyObject*) PyUnicode_EncodeUTF7( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* number of Py_UNICODE chars to encode */ int encodeSetO, /* force the encoder to encode characters in --- 608,620 ---- /* --- UTF-7 Codecs ------------------------------------------------------- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF7( const char *string, /* UTF-7 encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF7( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* number of Py_UNICODE chars to encode */ int encodeSetO, /* force the encoder to encode characters in *************** *** 626,642 **** /* --- UTF-8 Codecs ------------------------------------------------------- */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUTF8( const char *string, /* UTF-8 encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ --- 626,642 ---- /* --- UTF-8 Codecs ------------------------------------------------------- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8( const char *string, /* UTF-8 encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ *************** *** 667,673 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUTF16( const char *string, /* UTF-16 encoded string */ int length, /* size of string */ const char *errors, /* error handling */ --- 667,673 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF16( const char *string, /* UTF-16 encoded string */ int length, /* size of string */ const char *errors, /* error handling */ *************** *** 679,685 **** /* Returns a Python string using the UTF-16 encoding in native byte order. The string always starts with a BOM mark. */ ! extern DL_IMPORT(PyObject*) PyUnicode_AsUTF16String( PyObject *unicode /* Unicode object */ ); --- 679,685 ---- /* Returns a Python string using the UTF-16 encoding in native byte order. The string always starts with a BOM mark. */ ! PyAPI_FUNC(PyObject*) PyUnicode_AsUTF16String( PyObject *unicode /* Unicode object */ ); *************** *** 703,709 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_EncodeUTF16( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* number of Py_UNICODE chars to encode */ const char *errors, /* error handling */ --- 703,709 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_EncodeUTF16( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* number of Py_UNICODE chars to encode */ const char *errors, /* error handling */ *************** *** 712,745 **** /* --- Unicode-Escape Codecs ---------------------------------------------- */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeUnicodeEscape( const char *string, /* Unicode-Escape encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ ); /* --- Raw-Unicode-Escape Codecs ------------------------------------------ */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeRawUnicodeEscape( const char *string, /* Raw-Unicode-Escape encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ ); --- 712,745 ---- /* --- Unicode-Escape Codecs ---------------------------------------------- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeUnicodeEscape( const char *string, /* Unicode-Escape encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ ); /* --- Raw-Unicode-Escape Codecs ------------------------------------------ */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeRawUnicodeEscape( const char *string, /* Raw-Unicode-Escape encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ ); *************** *** 750,766 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeLatin1( const char *string, /* Latin-1 encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ --- 750,766 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeLatin1( const char *string, /* Latin-1 encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ *************** *** 772,788 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeASCII( const char *string, /* ASCII encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ --- 772,788 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeASCII( const char *string, /* ASCII encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ *************** *** 810,816 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeCharmap( const char *string, /* Encoded string */ int length, /* size of string */ PyObject *mapping, /* character mapping --- 810,816 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeCharmap( const char *string, /* Encoded string */ int length, /* size of string */ PyObject *mapping, /* character mapping *************** *** 818,830 **** const char *errors /* error handling */ ); ! extern DL_IMPORT(PyObject*) PyUnicode_AsCharmapString( PyObject *unicode, /* Unicode object */ PyObject *mapping /* character mapping (unicode ordinal -> char ordinal) */ ); ! extern DL_IMPORT(PyObject*) PyUnicode_EncodeCharmap( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* Number of Py_UNICODE chars to encode */ PyObject *mapping, /* character mapping --- 818,830 ---- const char *errors /* error handling */ ); ! PyAPI_FUNC(PyObject*) PyUnicode_AsCharmapString( PyObject *unicode, /* Unicode object */ PyObject *mapping /* character mapping (unicode ordinal -> char ordinal) */ ); ! PyAPI_FUNC(PyObject*) PyUnicode_EncodeCharmap( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* Number of Py_UNICODE chars to encode */ PyObject *mapping, /* character mapping *************** *** 845,851 **** */ ! extern DL_IMPORT(PyObject *) PyUnicode_TranslateCharmap( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* Number of Py_UNICODE chars to encode */ PyObject *table, /* Translate table */ --- 845,851 ---- */ ! PyAPI_FUNC(PyObject *) PyUnicode_TranslateCharmap( const Py_UNICODE *data, /* Unicode char buffer */ int length, /* Number of Py_UNICODE chars to encode */ PyObject *table, /* Translate table */ *************** *** 856,872 **** /* --- MBCS codecs for Windows -------------------------------------------- */ ! extern DL_IMPORT(PyObject*) PyUnicode_DecodeMBCS( const char *string, /* MBCS encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ --- 856,872 ---- /* --- MBCS codecs for Windows -------------------------------------------- */ ! PyAPI_FUNC(PyObject*) PyUnicode_DecodeMBCS( const char *string, /* MBCS encoded string */ int length, /* size of string */ const char *errors /* error handling */ ); ! 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 */ const char *errors /* error handling */ *************** *** 898,904 **** */ ! extern DL_IMPORT(int) PyUnicode_EncodeDecimal( Py_UNICODE *s, /* Unicode buffer */ int length, /* Number of Py_UNICODE chars to encode */ char *output, /* Output buffer; must have size >= length */ --- 898,904 ---- */ ! PyAPI_FUNC(int) PyUnicode_EncodeDecimal( Py_UNICODE *s, /* Unicode buffer */ int length, /* Number of Py_UNICODE chars to encode */ char *output, /* Output buffer; must have size >= length */ *************** *** 913,919 **** /* Concat two strings giving a new Unicode string. */ ! extern DL_IMPORT(PyObject*) PyUnicode_Concat( PyObject *left, /* Left string */ PyObject *right /* Right string */ ); --- 913,919 ---- /* Concat two strings giving a new Unicode string. */ ! PyAPI_FUNC(PyObject*) PyUnicode_Concat( PyObject *left, /* Left string */ PyObject *right /* Right string */ ); *************** *** 929,935 **** */ ! extern DL_IMPORT(PyObject*) PyUnicode_Split( PyObject *s, /* String to split */ PyObject *sep, /* String separator */ int maxsplit /* Maxsplit count */ --- 929,935 ---- */ ! PyAPI_FUNC(PyObject*) PyUnicode_Split( PyObject *s, /* String to split */ PyObject *sep, /* String separator */ int maxsplit /* Maxsplit count */ *************** *** 940,946 **** CRLF is considered to be one line break. Line breaks are not 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 */ ); --- 940,946 ---- CRLF is considered to be one line break. Line breaks are not included in the resulting list. */ ! PyAPI_FUNC(PyObject*) PyUnicode_Splitlines( PyObject *s, /* String to split */ int keepends /* If true, line end markers are included */ ); *************** *** 957,963 **** */ ! extern DL_IMPORT(PyObject *) PyUnicode_Translate( PyObject *str, /* String */ PyObject *table, /* Translate table */ const char *errors /* error handling */ --- 957,963 ---- */ ! PyAPI_FUNC(PyObject *) PyUnicode_Translate( PyObject *str, /* String */ PyObject *table, /* Translate table */ const char *errors /* error handling */ *************** *** 966,972 **** /* Join a sequence of strings using the given separator and return the resulting Unicode string. */ ! extern DL_IMPORT(PyObject*) PyUnicode_Join( PyObject *separator, /* Separator string */ PyObject *seq /* Sequence object */ ); --- 966,972 ---- /* Join a sequence of strings using the given separator and return the resulting Unicode string. */ ! PyAPI_FUNC(PyObject*) PyUnicode_Join( PyObject *separator, /* Separator string */ PyObject *seq /* Sequence object */ ); *************** *** 974,980 **** /* Return 1 if substr matches str[start:end] at the given tail end, 0 otherwise. */ ! extern DL_IMPORT(int) PyUnicode_Tailmatch( PyObject *str, /* String */ PyObject *substr, /* Prefix or Suffix string */ int start, /* Start index */ --- 974,980 ---- /* Return 1 if substr matches str[start:end] at the given tail end, 0 otherwise. */ ! PyAPI_FUNC(int) PyUnicode_Tailmatch( PyObject *str, /* String */ PyObject *substr, /* Prefix or Suffix string */ int start, /* Start index */ *************** *** 986,992 **** given search direction or -1 if not found. -2 is returned in case an error occurred and an exception is set. */ ! extern DL_IMPORT(int) PyUnicode_Find( PyObject *str, /* String */ PyObject *substr, /* Substring to find */ int start, /* Start index */ --- 986,992 ---- given search direction or -1 if not found. -2 is returned in case an error occurred and an exception is set. */ ! PyAPI_FUNC(int) PyUnicode_Find( PyObject *str, /* String */ PyObject *substr, /* Substring to find */ int start, /* Start index */ *************** *** 996,1002 **** /* 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 */ int start, /* Start index */ --- 996,1002 ---- /* Count the number of occurrences of substr in str[start:end]. */ ! PyAPI_FUNC(int) PyUnicode_Count( PyObject *str, /* String */ PyObject *substr, /* Substring to count */ int start, /* Start index */ *************** *** 1006,1012 **** /* Replace at most maxcount occurrences of substr in str with replstr and return the resulting Unicode object. */ ! extern DL_IMPORT(PyObject *) PyUnicode_Replace( PyObject *str, /* String */ PyObject *substr, /* Substring to find */ PyObject *replstr, /* Substring to replace */ --- 1006,1012 ---- /* Replace at most maxcount occurrences of substr in str with replstr and return the resulting Unicode object. */ ! PyAPI_FUNC(PyObject *) PyUnicode_Replace( PyObject *str, /* String */ PyObject *substr, /* Substring to find */ PyObject *replstr, /* Substring to replace */ *************** *** 1017,1023 **** /* Compare two strings and return -1, 0, 1 for less than, equal, greater than resp. */ ! extern DL_IMPORT(int) PyUnicode_Compare( PyObject *left, /* Left string */ PyObject *right /* Right string */ ); --- 1017,1023 ---- /* Compare two strings and return -1, 0, 1 for less than, equal, greater than resp. */ ! PyAPI_FUNC(int) PyUnicode_Compare( PyObject *left, /* Left string */ PyObject *right /* Right string */ ); *************** *** 1025,1031 **** /* Apply a argument tuple or dictionary to a format string and return the resulting Unicode string. */ ! extern DL_IMPORT(PyObject *) PyUnicode_Format( PyObject *format, /* Format string */ PyObject *args /* Argument tuple or dictionary */ ); --- 1025,1031 ---- /* Apply a argument tuple or dictionary to a format string and return the resulting Unicode string. */ ! PyAPI_FUNC(PyObject *) PyUnicode_Format( PyObject *format, /* Format string */ PyObject *args /* Argument tuple or dictionary */ ); *************** *** 1036,1048 **** element has to coerce to an one element Unicode string. -1 is returned in case of an error. */ ! extern DL_IMPORT(int) PyUnicode_Contains( PyObject *container, /* Container string */ PyObject *element /* Element string */ ); /* Externally visible for str.strip(unicode) */ ! extern DL_IMPORT(PyObject *) _PyUnicode_XStrip( PyUnicodeObject *self, int striptype, PyObject *sepobj --- 1036,1048 ---- element has to coerce to an one element Unicode string. -1 is returned in case of an error. */ ! PyAPI_FUNC(int) PyUnicode_Contains( PyObject *container, /* Container string */ PyObject *element /* Element string */ ); /* Externally visible for str.strip(unicode) */ ! PyAPI_FUNC(PyObject *) _PyUnicode_XStrip( PyUnicodeObject *self, int striptype, PyObject *sepobj *************** *** 1057,1119 **** */ ! 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 */ ); --- 1057,1119 ---- */ ! 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: Include/weakrefobject.h =================================================================== RCS file: /cvsroot/python/python/dist/src/Include/weakrefobject.h,v retrieving revision 1.2 diff -c -r1.2 weakrefobject.h *** Include/weakrefobject.h 5 Oct 2001 22:06:45 -0000 1.2 --- Include/weakrefobject.h 31 Jul 2002 15:44:53 -0000 *************** *** 18,26 **** PyWeakReference *wr_next; }; ! extern DL_IMPORT(PyTypeObject) _PyWeakref_RefType; ! extern DL_IMPORT(PyTypeObject) _PyWeakref_ProxyType; ! extern DL_IMPORT(PyTypeObject) _PyWeakref_CallableProxyType; #define PyWeakref_CheckRef(op) \ ((op)->ob_type == &_PyWeakref_RefType) --- 18,26 ---- PyWeakReference *wr_next; }; ! PyAPI_DATA(PyTypeObject) _PyWeakref_RefType; ! PyAPI_DATA(PyTypeObject) _PyWeakref_ProxyType; ! PyAPI_DATA(PyTypeObject) _PyWeakref_CallableProxyType; #define PyWeakref_CheckRef(op) \ ((op)->ob_type == &_PyWeakref_RefType) *************** *** 31,43 **** (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op)) ! 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) --- 31,43 ---- (PyWeakref_CheckRef(op) || PyWeakref_CheckProxy(op)) ! 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)