[Python-checkins] CVS: python/dist/src/Modules newmodule.c,2.31,2.32
Jeremy Hylton
jhylton@users.sourceforge.net
Thu, 01 Feb 2001 11:50:31 -0800
Update of /cvsroot/python/python/dist/src/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv8450/Modules
Modified Files:
newmodule.c
Log Message:
move extra arguments to the back of the new.code() arglist
Index: newmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Modules/newmodule.c,v
retrieving revision 2.31
retrieving revision 2.32
diff -C2 -r2.31 -r2.32
*** newmodule.c 2001/01/28 03:55:09 2.31
--- newmodule.c 2001/02/01 19:50:28 2.32
***************
*** 104,108 ****
static char new_code_doc[] =
! "Create a code object from (ARGCOUNT, NLOCALS, STACKSIZE, FLAGS, CODESTRING, CONSTANTS, NAMES, VARNAMES, FREEVARS, CELLVARS, FILENAME, NAME, FIRSTLINENO, LNOTAB).";
static PyObject *
--- 104,110 ----
static char new_code_doc[] =
! "Create a code object from (ARGCOUNT, NLOCALS, STACKSIZE, FLAGS, CODESTRING,\n"
! "CONSTANTS, NAMES, VARNAMES, FILENAME, NAME, FIRSTLINENO, LNOTAB, FREEVARS,\n"
! "CELLVARS).";
static PyObject *
***************
*** 117,122 ****
PyObject* names;
PyObject* varnames;
! PyObject* freevars;
! PyObject* cellvars;
PyObject* filename;
PyObject* name;
--- 119,124 ----
PyObject* names;
PyObject* varnames;
! PyObject* freevars = NULL;
! PyObject* cellvars = NULL;
PyObject* filename;
PyObject* name;
***************
*** 125,129 ****
PyBufferProcs *pb;
! if (!PyArg_ParseTuple(args, "iiiiOO!O!O!O!O!SSiS:code",
&argcount, &nlocals, &stacksize, &flags,
&code,
--- 127,131 ----
PyBufferProcs *pb;
! if (!PyArg_ParseTuple(args, "iiiiSO!O!O!SSiS|O!O!:code",
&argcount, &nlocals, &stacksize, &flags,
&code,
***************
*** 131,139 ****
&PyTuple_Type, &names,
&PyTuple_Type, &varnames,
- &PyTuple_Type, &freevars,
- &PyTuple_Type, &cellvars,
&filename, &name,
! &firstlineno, &lnotab))
return NULL;
pb = code->ob_type->tp_as_buffer;
--- 133,156 ----
&PyTuple_Type, &names,
&PyTuple_Type, &varnames,
&filename, &name,
! &firstlineno, &lnotab,
! &PyTuple_Type, &freevars,
! &PyTuple_Type, &cellvars))
return NULL;
+
+ if (freevars == NULL || cellvars == NULL) {
+ PyObject *empty = PyTuple_New(0);
+ if (empty == NULL)
+ return NULL;
+ if (freevars == NULL) {
+ freevars = empty;
+ Py_INCREF(freevars);
+ }
+ if (cellvars == NULL) {
+ cellvars = empty;
+ Py_INCREF(cellvars);
+ }
+ Py_DECREF(empty);
+ }
pb = code->ob_type->tp_as_buffer;