From: Raymond Hettinger Date: Wed, 19 Mar 2008 22:47:48 +0000 (+0000) Subject: Remove unnecessary traceback save/restore pair. X-Git-Tag: v2.6a2~214 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c71d2a9afd518ed264a129a55bc9c399fe173df2;p=thirdparty%2FPython%2Fcpython.git Remove unnecessary traceback save/restore pair. --- diff --git a/Objects/abstract.c b/Objects/abstract.c index 0ec6dee2cda1..6d948d4b6b9b 100644 --- a/Objects/abstract.c +++ b/Objects/abstract.c @@ -2907,22 +2907,20 @@ int PyObject_IsInstance(PyObject *inst, PyObject *cls) { static PyObject *name = NULL; - PyObject *t, *v, *tb; PyObject *checker; /* Quick test for an exact match */ if (Py_TYPE(inst) == (PyTypeObject *)cls) return 1; - PyErr_Fetch(&t, &v, &tb); - if (name == NULL) { name = PyString_InternFromString("__instancecheck__"); if (name == NULL) return -1; } checker = PyObject_GetAttr(cls, name); - PyErr_Restore(t, v, tb); + if (checker == NULL && PyErr_Occurred()) + PyErr_Clear(); if (checker != NULL) { PyObject *res; int ok = -1;