Commit 4c9b8b75 authored by Tim Peters's avatar Tim Peters

Add "gi_" (generator-iterator) prefix to names of genobject members.

Makes it much easier to find references via dumb editor search (former
"frame" in particular was near-hopeless).
parent 2d35e939
...@@ -111,8 +111,12 @@ staticforward PyTypeObject gentype; ...@@ -111,8 +111,12 @@ staticforward PyTypeObject gentype;
typedef struct { typedef struct {
PyObject_HEAD PyObject_HEAD
PyFrameObject *frame; /* The gi_ prefix is intended to remind of generator-iterator. */
int running; /* true if generator is being executed */
PyFrameObject *gi_frame;
/* True if generator is being executed. */
int gi_running;
} genobject; } genobject;
static PyObject * static PyObject *
...@@ -123,15 +127,15 @@ gen_new(PyFrameObject *f) ...@@ -123,15 +127,15 @@ gen_new(PyFrameObject *f)
Py_DECREF(f); Py_DECREF(f);
return NULL; return NULL;
} }
gen->frame = f; gen->gi_frame = f;
gen->running = 0; gen->gi_running = 0;
return (PyObject *)gen; return (PyObject *)gen;
} }
static void static void
gen_dealloc(genobject *gen) gen_dealloc(genobject *gen)
{ {
Py_DECREF(gen->frame); Py_DECREF(gen->gi_frame);
PyObject_DEL(gen); PyObject_DEL(gen);
} }
...@@ -139,10 +143,10 @@ static PyObject * ...@@ -139,10 +143,10 @@ static PyObject *
gen_iternext(genobject *gen) gen_iternext(genobject *gen)
{ {
PyThreadState *tstate = PyThreadState_GET(); PyThreadState *tstate = PyThreadState_GET();
PyFrameObject *f = gen->frame; PyFrameObject *f = gen->gi_frame;
PyObject *result; PyObject *result;
if (gen->running) { if (gen->gi_running) {
PyErr_SetString(PyExc_ValueError, PyErr_SetString(PyExc_ValueError,
"generator already executing"); "generator already executing");
return NULL; return NULL;
...@@ -156,9 +160,9 @@ gen_iternext(genobject *gen) ...@@ -156,9 +160,9 @@ gen_iternext(genobject *gen)
assert(f->f_back == NULL); assert(f->f_back == NULL);
f->f_back = tstate->frame; f->f_back = tstate->frame;
gen->running = 1; gen->gi_running = 1;
result = eval_frame(f); result = eval_frame(f);
gen->running = 0; gen->gi_running = 0;
/* Don't keep the reference to f_back any longer than necessary. It /* Don't keep the reference to f_back any longer than necessary. It
* may keep a chain of frames alive or it could create a reference * may keep a chain of frames alive or it could create a reference
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment