Skip to content

Commit d369502

Browse files
author
Anselm Kruis
committed
Issue python#113: Fix builtin_eval and builtin_exec.
I executed "make clinic". This adds the stackless protocol to builtin_eval and builtin_exec. https://bitbucket.org/stackless-dev/stackless/issues/113
1 parent b7b0a76 commit d369502

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Python/bltinmodule.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,7 @@ builtin_eval_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyOb
10301030
static PyObject *
10311031
builtin_eval(PyModuleDef *module, PyObject *args)
10321032
{
1033+
STACKLESS_GETARG();
10331034
PyObject *return_value = NULL;
10341035
PyObject *source;
10351036
PyObject *globals = Py_None;
@@ -1039,15 +1040,17 @@ builtin_eval(PyModuleDef *module, PyObject *args)
10391040
1, 3,
10401041
&source, &globals, &locals))
10411042
goto exit;
1043+
STACKLESS_PROMOTE_ALL();
10421044
return_value = builtin_eval_impl(module, source, globals, locals);
1045+
STACKLESS_ASSERT();
10431046

10441047
exit:
10451048
return return_value;
10461049
}
10471050

10481051
static PyObject *
10491052
builtin_eval_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyObject *locals)
1050-
/*[clinic end generated code: output=c24abb7472109f9a input=23391c4fc7497323]*/
1053+
/*[clinic end generated code: output=28c7bb349e59eeb7 input=23391c4fc7497323]*/
10511054
{
10521055
STACKLESS_GETARG();
10531056
PyObject *result, *tmp = NULL;
@@ -1155,6 +1158,7 @@ builtin_exec_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyOb
11551158
static PyObject *
11561159
builtin_exec(PyModuleDef *module, PyObject *args)
11571160
{
1161+
STACKLESS_GETARG();
11581162
PyObject *return_value = NULL;
11591163
PyObject *source;
11601164
PyObject *globals = Py_None;
@@ -1164,15 +1168,17 @@ builtin_exec(PyModuleDef *module, PyObject *args)
11641168
1, 3,
11651169
&source, &globals, &locals))
11661170
goto exit;
1171+
STACKLESS_PROMOTE_ALL();
11671172
return_value = builtin_exec_impl(module, source, globals, locals);
1173+
STACKLESS_ASSERT();
11681174

11691175
exit:
11701176
return return_value;
11711177
}
11721178

11731179
static PyObject *
11741180
builtin_exec_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyObject *locals)
1175-
/*[clinic end generated code: output=101daa75fa09f8a6 input=b73d7f2ce89fd88a]*/
1181+
/*[clinic end generated code: output=7298a022b00bf491 input=b73d7f2ce89fd88a]*/
11761182
{
11771183
STACKLESS_GETARG();
11781184
PyObject *v;

0 commit comments

Comments
 (0)