test_glob found a nasty bug in GUSI opendir(): it will not fail when called on files, but in stead open the parent directory! We now explicitly test for the argument being a directory and simulate ENOTDIR otherwise.
diff --git a/Mac/Modules/macmodule.c b/Mac/Modules/macmodule.c
index 7735ab3..766722f 100644
--- a/Mac/Modules/macmodule.c
+++ b/Mac/Modules/macmodule.c
@@ -311,6 +311,24 @@
 	struct dirent *ep;
 	if (!PyArg_ParseTuple(args, "s", &name))
 		return NULL;
+#ifdef USE_GUSI
+	/* Work around a bug in GUSI: if you opendir() a file it will
+	** actually opendir() the parent directory.
+	*/
+	{
+		struct stat stb;
+		int res;
+		
+		res = stat(name, &stb);
+		if ( res < 0 )
+			return mac_error();
+		if (!S_ISDIR(stb.st_mode) ) {
+			errno = ENOTDIR;
+			return mac_error();
+		}
+	}
+#endif
+		
 	Py_BEGIN_ALLOW_THREADS
 	if ((dirp = opendir(name)) == NULL) {
 		Py_BLOCK_THREADS