diff Objects/abstract.c @ 45936:3aa5eb182913 legacy-trunk

Remove unnecessary traceback save/restore pair.
author Raymond Hettinger <python@rcn.com>
date Wed, 19 Mar 2008 22:47:48 +0000
parents d5cff7f9a142
children 91b099a7f3e2
line wrap: on
line diff
--- a/Objects/abstract.c	Wed Mar 19 22:41:10 2008 +0000
+++ b/Objects/abstract.c	Wed Mar 19 22:47:48 2008 +0000
@@ -2907,22 +2907,20 @@
 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;