posix_listdir(): When an error occurs, call
posix_error_with_filename() instead of posix_error(), passing in the
name argument, so you get information on which directory was being
listed.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index f3fbd7a..f7b16a0 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -773,7 +773,7 @@
 		errno = GetLastError();
 		if (errno == ERROR_FILE_NOT_FOUND)
 			return PyList_New(0);
-		return posix_error();
+		return posix_error_with_filename(name);
 	}
 	do {
 		if (FileData.cFileName[0] == '.' &&
@@ -798,7 +798,7 @@
 
 	if (FindClose(hFindFile) == FALSE) {
 		errno = GetLastError();
-		return posix_error();
+		return posix_error_with_filename(&name);
 	}
 
 	return d;
@@ -836,7 +836,7 @@
 			   _A_HIDDEN | _A_SYSTEM | _A_SUBDIR, &ep) != 0)
         {
 		errno = ENOENT;
-		return posix_error();
+		return posix_error_with_filename(name);
 	}
 	do {
 		if (ep.name[0] == '.' &&
@@ -906,7 +906,7 @@
 
     if (rc != NO_ERROR) {
         errno = ENOENT;
-        return posix_error();
+        return posix_error_with_filename(name);
     }
 
     if (srchcnt > 0) { /* If Directory is NOT Totally Empty, */
@@ -948,7 +948,7 @@
 	Py_BEGIN_ALLOW_THREADS
 	if ((dirp = opendir(name)) == NULL) {
 		Py_BLOCK_THREADS
-		return posix_error();
+		return posix_error_with_filename(name);
 	}
 	if ((d = PyList_New(0)) == NULL) {
 		closedir(dirp);