Be a bit more careful with printing a warning for a failed __del__.
diff --git a/Objects/classobject.c b/Objects/classobject.c
index 5776898..191b556 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -404,8 +404,11 @@
 		object *res = call_object(del, (object *)NULL);
 		DECREF(del);
 		if (res == NULL) {
-			writestring("exception in __del__ method ignored\n",
-				    sysget("stderr"));
+			PyObject *f = sysget("stderr");
+			err_clear();
+			if (f != NULL)
+				writestring(
+				  "exception in __del__ method ignored\n", f);
 		}
 		else
 			DECREF(res);