]> granicus.if.org Git - python/commitdiff
Remove unnecessary traceback save/restore pair.
authorRaymond Hettinger <python@rcn.com>
Wed, 19 Mar 2008 22:47:48 +0000 (22:47 +0000)
committerRaymond Hettinger <python@rcn.com>
Wed, 19 Mar 2008 22:47:48 +0000 (22:47 +0000)
Objects/abstract.c

index 0ec6dee2cda1116c07281d2cbdd0b5ccb17a60e3..6d948d4b6b9b8ff865571255e3f529cbca074a87 100644 (file)
@@ -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;