summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2001-01-25 20:07:56 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2001-01-25 20:07:56 (GMT)
commit903f654ac9116bc5c598c19b9e9c45f5ba9e1a7b (patch)
tree5742605c33f07c5747c24e31ef8ca90912700702
parentf65e500594f935c642e2b8d6de44c9d530f1ec47 (diff)
downloadcpython-903f654ac9116bc5c598c19b9e9c45f5ba9e1a7b.zip
cpython-903f654ac9116bc5c598c19b9e9c45f5ba9e1a7b.tar.gz
cpython-903f654ac9116bc5c598c19b9e9c45f5ba9e1a7b.tar.bz2
PEP 227 implementation
Track changes to PyFrame_New() and PyFuntion_New().
-rw-r--r--Modules/newmodule.c11
-rw-r--r--Modules/pyexpat.c6
2 files changed, 13 insertions, 4 deletions
diff --git a/Modules/newmodule.c b/Modules/newmodule.c
index 21b82ef..06b7d82 100644
--- a/Modules/newmodule.c
+++ b/Modules/newmodule.c
@@ -101,7 +101,7 @@ new_function(PyObject* unused, PyObject* args)
}
static char new_code_doc[] =
-"Create a code object from (ARGCOUNT, NLOCALS, STACKSIZE, FLAGS, CODESTRING, CONSTANTS, NAMES, VARNAMES, FILENAME, NAME, FIRSTLINENO, LNOTAB).";
+"Create a code object from (ARGCOUNT, NLOCALS, STACKSIZE, FLAGS, CODESTRING, CONSTANTS, NAMES, VARNAMES, FREEVARS, CELLVARS, FILENAME, NAME, FIRSTLINENO, LNOTAB).";
static PyObject *
new_code(PyObject* unused, PyObject* args)
@@ -114,18 +114,22 @@ new_code(PyObject* unused, PyObject* args)
PyObject* consts;
PyObject* names;
PyObject* varnames;
+ PyObject* freevars;
+ PyObject* cellvars;
PyObject* filename;
PyObject* name;
int firstlineno;
PyObject* lnotab;
PyBufferProcs *pb;
- if (!PyArg_ParseTuple(args, "iiiiOO!O!O!SSiS:code",
+ if (!PyArg_ParseTuple(args, "iiiiOO!O!O!O!O!SSiS:code",
&argcount, &nlocals, &stacksize, &flags,
&code,
&PyTuple_Type, &consts,
&PyTuple_Type, &names,
&PyTuple_Type, &varnames,
+ &PyTuple_Type, &freevars,
+ &PyTuple_Type, &cellvars,
&filename, &name,
&firstlineno, &lnotab))
return NULL;
@@ -143,7 +147,8 @@ new_code(PyObject* unused, PyObject* args)
return (PyObject *)PyCode_New(argcount, nlocals, stacksize, flags,
code, consts, names, varnames,
- filename, name, firstlineno, lnotab);
+ freevars, cellvars, filename, name,
+ firstlineno, lnotab);
}
static char new_module_doc[] =
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index cbe0a6e..6778a9c 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -257,6 +257,8 @@ getcode(enum HandlerTypes slot, char* func_name, int lineno)
nulltuple, /* consts */
nulltuple, /* names */
nulltuple, /* varnames */
+ nulltuple, /* freevars */
+ nulltuple, /* cellvars */
filename, /* filename */
name, /* name */
lineno, /* firstlineno */
@@ -288,7 +290,9 @@ call_with_frame(PyCodeObject *c, PyObject* func, PyObject* args)
tstate, /*back*/
c, /*code*/
tstate->frame->f_globals, /*globals*/
- NULL); /*locals*/
+ NULL, /*locals*/
+ 0,
+ NULL); /* closure */
if (f == NULL)
return NULL;
tstate->frame = f;