WINDOWS_LEAN_AND_MEAN:  There is no such symbol, although a very few
MSDN sample programs use it, apparently in error.  The correct name
is WIN32_LEAN_AND_MEAN.  After switching to the correct name, in two
cases more was needed because the code actually relied on things that
disappear when WIN32_LEAN_AND_MEAN is defined.
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 80c2767..5ed3eaf 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -26,7 +26,7 @@
 #endif
 
 #if defined(MS_WINDOWS)
-#define WINDOWS_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #endif
 
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 163263f..4d9c93d 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -217,7 +217,7 @@
 #include <io.h>
 #include <process.h>
 #include "osdefs.h"
-#define WINDOWS_LEAN_AND_MEAN
+/* We don't want WIN32_LEAN_AND_MEAN here -- we need ShellExecute(). */
 #include <windows.h>
 #define popen	_popen
 #define pclose	_pclose