PyErr_ProgramText():  Grrrrrr.

In a Windows debug build, trying to open a file using
an empty string as the name causes assertion death
inside MS's C runtime code.  We probably need to worm
around that in many places.  I'm worming around it here
to stop the new test_with.py from assert-dying in the
Windows debug build (it calls compile() with an empty
string for "the file name", which indirectly leads to
C-level code in Python trying to fopen("", "r")).
diff --git a/Python/errors.c b/Python/errors.c
index ace63ff..cbcc6fa 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -738,7 +738,7 @@
 	int i;
 	char linebuf[1000];
 
-	if (filename == NULL || lineno <= 0)
+	if (filename == NULL || *filename == '\0' || lineno <= 0)
 		return NULL;
 	fp = fopen(filename, "r" PY_STDIOTEXTMODE);
 	if (fp == NULL)