Fix bug #12878 with compilation failure with Visual C++ 11.0.

src/w32select.c: Include w32common.h before w32term.h, so that
 windows.h gets included before w32term.h uses some of its
 features, see below.
 src/w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: New
 typedefs.
 (EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: New
 prototypes.
 (EnumSystemLocales) [_MSC_VER]: Define if undefined.
This commit is contained in:
Eli Zaretskii 2012-11-17 20:51:06 +02:00
parent 7436fc63c0
commit d8715cdf90
3 changed files with 28 additions and 1 deletions

View file

@ -1,3 +1,15 @@
2012-11-17 Eli Zaretskii <eliz@gnu.org>
* w32select.c: Include w32common.h before w32term.h, so that
windows.h gets included before w32term.h uses some of its
features, see below.
* w32term.h (LOCALE_ENUMPROCA, LOCALE_ENUMPROCW) [_MSC_VER]: New
typedefs.
(EnumSystemLocalesA, EnumSystemLocalesW) [_MSC_VER]: New
prototypes.
(EnumSystemLocales) [_MSC_VER]: Define if undefined. (Bug#12878)
2012-11-17 Jan Djärv <jan.h.d@swipnet.se>
* nsterm.m (hold_event): Set send_appdefined to YES (Bug#12834).

View file

@ -74,8 +74,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include "lisp.h"
#include "w32term.h" /* for all of the w32 includes */
#include "w32common.h" /* os_subtype */
#include "w32term.h" /* for all of the w32 includes */
#include "keyboard.h"
#include "blockinput.h"
#include "charset.h"

View file

@ -752,6 +752,21 @@ extern int w32_system_caret_height;
extern int w32_system_caret_x;
extern int w32_system_caret_y;
#ifdef _MSC_VER
#ifndef EnumSystemLocales
/* MSVC headers define these only for _WIN32_WINNT >= 0x0500. */
typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD);
BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD)
#ifdef UNICODE
#define EnumSystemLocales EnumSystemLocalesW
#else
#define EnumSystemLocales EnumSystemLocalesA
#endif
#endif
#endif
#if EMACSDEBUG
extern const char*
w32_name_of_message (UINT msg);