mirror of
https://github.com/python/cpython.git
synced 2025-09-05 16:31:16 +00:00
PyObject_Compare can raise an exception now.
This commit is contained in:
parent
5b2121b25f
commit
c8b6df9004
7 changed files with 67 additions and 31 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue