summaryrefslogtreecommitdiffstats
path: root/Python/ceval.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-05-23 00:06:51 (GMT)
committerGuido van Rossum <guido@python.org>1997-05-23 00:06:51 (GMT)
commitc8b6df90045a3f419e6fab272d93ad4159e54ccc (patch)
tree20cb4b6f0ba2718577079198780d5fc3852e4a70 /Python/ceval.c
parent5b2121b25fc6a50fe229fe25ef6be8a2f883d1f4 (diff)
downloadcpython-c8b6df90045a3f419e6fab272d93ad4159e54ccc.zip
cpython-c8b6df90045a3f419e6fab272d93ad4159e54ccc.tar.gz
cpython-c8b6df90045a3f419e6fab272d93ad4159e54ccc.tar.bz2
PyObject_Compare can raise an exception now.
Diffstat (limited to 'Python/ceval.c')
-rw-r--r--Python/ceval.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index 7897006..bd312b2 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -456,6 +456,9 @@ eval_code2(co, globals, locals,
if (PyObject_Compare(keyword, nm) == 0)
break;
}
+ /* Check errors from Compare */
+ if (PyErr_Occurred())
+ goto fail;
if (j >= co->co_argcount) {
if (kwdict == NULL) {
PyErr_Format(PyExc_TypeError,
@@ -2475,6 +2478,8 @@ cmp_member(v, w)
Py_XDECREF(x);
if (cmp == 0)
return 1;
+ if (PyErr_Occurred())
+ return -1;
}
return 0;
}
@@ -2507,6 +2512,8 @@ cmp_outcome(op, v, w)
break;
default:
cmp = PyObject_Compare(v, w);
+ if (cmp && PyErr_Occurred())
+ return NULL;
switch (op) {
case LT: res = cmp < 0; break;
case LE: res = cmp <= 0; break;