Sure, adding a correct prototype is just like including the correct header file if Windows 9X
> Date: Tue, 13 Nov 2012 19:11:34 +0800
> From: À <iamliding@gmail.com>
>
> I tried to compile emacs 24.2 on Windows 7 with Visual C++ 11.0 Express,
> and I found that EnumSystemLocales in w32proc.c and w32select.c were
> compiled as is (not as __stdcall function with postfix decorations), which
> causes the linking failure.
>
> I read through the sources and found that config.h defined _WIN32_WINNT as
> 0x0400, which corresponds to Windows NT4. However MSDN says that
> EnumSystemLocales requires at least Windows 2000 (0x0500). So you should
> probably either require a higher Windows version or use some other
> mechanism to accomplish what EnumSystemLocales does.
Would adding a correct prototype for EnumSystemLocales to w32term.h
(included by both source files you mention) do the trick?
(I don't want to bump up _WIN32_WINNT, because that might produce an
executable which won't run on Windows 9X, which we still try to
support.)