updated for version 7.0151
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index c635bfc..449b66c 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -3901,7 +3901,15 @@
 		 * FEAT_GETTEXT isn't defined, so that shell commands use this
 		 * value. */
 		if (what == LC_ALL)
+		{
 		    vim_setenv((char_u *)"LANG", name);
+# ifdef WIN32
+		    /* Apparently MS-Windows printf() may cause a crash when
+		     * we give it 8-bit text while it's expecting text in the
+		     * current locale.  This call avoids that. */
+		    setlocale(LC_CTYPE, "C");
+# endif
+		}
 		if (what != LC_CTYPE)
 		{
 		    char_u	*mname;