summaryrefslogtreecommitdiff
path: root/Python/ceval.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2010-07-20 22:37:19 +0000
committerBenjamin Peterson <benjamin@python.org>2010-07-20 22:37:19 +0000
commita1047ef59eacea8f3b31386bb6c4a766d6237fd7 (patch)
tree9171cfd297861c7770d7425d570c47618b391093 /Python/ceval.c
parentaa6946d24d85e8dea8d03b70f37d1f11eea49f73 (diff)
downloadcpython-a1047ef59eacea8f3b31386bb6c4a766d6237fd7.tar.gz
move test_trace.py so as not to conflict with future tests for the trace module
Diffstat (limited to 'Python/ceval.c')
-rw-r--r--Python/ceval.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index 2d4b16a39a..368ad695ea 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2052,6 +2052,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
break;
TARGET(LOAD_NAME)
+ TARGET(LOAD_NAME_LOCAL_ONLY)
w = GETITEM(names, oparg);
if ((v = f->f_locals) == NULL) {
PyErr_Format(PyExc_SystemError,
@@ -2073,15 +2074,14 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
}
}
if (x == NULL) {
- x = PyDict_GetItem(f->f_globals, w);
+ if (opcode != LOAD_NAME_LOCAL_ONLY) {
+ x = PyDict_GetItem(f->f_globals, w);
+ if (x == NULL)
+ x = PyDict_GetItem(f->f_builtins, w);
+ }
if (x == NULL) {
- x = PyDict_GetItem(f->f_builtins, w);
- if (x == NULL) {
- format_exc_check_arg(
- PyExc_NameError,
- NAME_ERROR_MSG, w);
- break;
- }
+ format_exc_check_arg(PyExc_NameError, NAME_ERROR_MSG, w);
+ break;
}
Py_INCREF(x);
}