Merged changes made on r22b2-branch between r22b2 and r22b2-mac (the
changes from start of branch upto r22b2 were already merged, of course).
diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index a60d3ef..27612f4 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -121,9 +121,14 @@
 	}
 	if (f->f_fp == NULL) {
 #ifdef NO_FOPEN_ERRNO
-		/* Metroworks only, not testable, so unchanged */
+		/* Metroworks only, wich does not always sets errno */
 		if (errno == 0) {
-			PyErr_SetString(PyExc_IOError, "Cannot open file");
+			PyObject *v;
+			v = Py_BuildValue("(is)", 0, "Cannot open file");
+			if (v != NULL) {
+				PyErr_SetObject(PyExc_IOError, v);
+				Py_DECREF(v);
+			}
 			return NULL;
 		}
 #endif