Merged revisions 72907 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r72907 | benjamin.peterson | 2009-05-24 21:40:21 -0500 (Sun, 24 May 2009) | 1 line

  handle errors from _PyObject_LookupSpecial when __get__ fails
........
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 6639acc..89613ec 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -652,10 +652,12 @@
 
 	method = _PyObject_LookupSpecial(o, "__sizeof__",
 					 &str__sizeof__);
-	if (method == NULL)
-		PyErr_Format(PyExc_TypeError,
-			     "Type %.100s doesn't define __sizeof__",
-			     Py_TYPE(o)->tp_name);
+	if (method == NULL) {
+		if (!PyErr_Occurred())
+			PyErr_Format(PyExc_TypeError,
+				     "Type %.100s doesn't define __sizeof__",
+				     Py_TYPE(o)->tp_name);
+	}
 	else {
 		res = PyObject_CallFunctionObjArgs(method, NULL);
 		Py_DECREF(method);