From: Armin R. <ar...@us...> - 2004-12-01 18:58:20
|
Update of /cvsroot/psyco/psyco/c/Python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30025/c/Python Modified Files: pbltinmodule.c pyver.h Log Message: Real support for the built-in methods that access the locals dict: eval(), execfile(), locals(), vars(), dir(), input() Index: pbltinmodule.c =================================================================== RCS file: /cvsroot/psyco/psyco/c/Python/pbltinmodule.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** pbltinmodule.c 23 Jul 2004 14:06:56 -0000 1.19 --- pbltinmodule.c 1 Dec 2004 18:58:00 -0000 1.20 *************** *** 29,32 **** --- 29,42 ---- #endif + #if HAVE_METH_NOARGS + # define METH_NOARGS_WRAPPER(name, self, arg) do { } while (0) /* nothing */ + #else + # define METH_NOARGS_WRAPPER(name, self, arg) do { \ + if (PsycoTuple_Load(arg) != 0) \ + return psyco_generic_call(po, cimpl_ ## name, CfReturnRef|CfPyErrIfNull, \ + "vv", self, arg); \ + } while (0) + #endif + static vinfo_t* get_len_of_range(PsycoObject* po, vinfo_t* lo, vinfo_t* hi *************** *** 292,296 **** cimpl_xrange = Psyco_DefineModuleC(md, "xrange", METH_VARARGS, &pbuiltin_xrange, prange_new); ! #undef META Py_XDECREF(md); } --- 302,306 ---- cimpl_xrange = Psyco_DefineModuleC(md, "xrange", METH_VARARGS, &pbuiltin_xrange, prange_new); ! #undef DEFMETA Py_XDECREF(md); } Index: pyver.h =================================================================== RCS file: /cvsroot/psyco/psyco/c/Python/pyver.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** pyver.h 1 Dec 2004 12:59:11 -0000 1.11 --- pyver.h 1 Dec 2004 18:58:00 -0000 1.12 *************** *** 56,59 **** --- 56,66 ---- #endif + #ifdef METH_NOARGS + # define HAVE_METH_NOARGS 1 + #else + # define HAVE_METH_NOARGS 0 + # define METH_NOARGS 0x0004 + #endif + #ifndef PyCode_GetNumFree # define PyCode_GetNumFree(op) (PyTuple_GET_SIZE((op)->co_freevars)) |