changeset: 92056:0e9b023078e6 branch: 2.7 parent: 92043:76ca8569a04c user: Benjamin Peterson date: Sat Aug 09 19:39:36 2014 -0700 files: Python/ceval.c description: restore runtime exec test (#21591) diff -r 76ca8569a04c -r 0e9b023078e6 Python/ceval.c --- a/Python/ceval.c Fri Aug 08 23:33:11 2014 -0400 +++ b/Python/ceval.c Sat Aug 09 19:39:36 2014 -0700 @@ -4673,9 +4673,18 @@ exec_statement(PyFrameObject *f, PyObject *prog, PyObject *globals, PyObject *locals) { + int n; PyObject *v; int plain = 0; + if (PyTuple_Check(prog) && globals == Py_None && locals == Py_None && + ((n = PyTuple_Size(prog)) == 2 || n == 3)) { + /* Backward compatibility hack */ + globals = PyTuple_GetItem(prog, 1); + if (n == 3) + locals = PyTuple_GetItem(prog, 2); + prog = PyTuple_GetItem(prog, 0); + } if (globals == Py_None) { globals = PyEval_GetGlobals(); if (locals == Py_None) {