From 88c4a13c3b573e0fa844c88ab89765ef308c267e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 19 Nov 2012 19:34:21 +0200 Subject: [PATCH] More fixes for bug #12878 with MS-Windows MSVC build. src/xdisp.c (start_hourglass) [HAVE_NTGUI]: Don't mix declaration of w32_note_current_window with code. (Backport from trunk.) src/w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]: Define for the MSVC compiler. src/w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing semi-colon. nt/inc/stdint.h (PTRDIFF_MIN) [!__GNUC__]: Define for MSVC. --- nt/ChangeLog | 4 ++++ nt/inc/stdint.h | 1 + src/ChangeLog | 12 ++++++++++++ src/w32.c | 13 ++++++++++--- src/w32term.h | 2 +- src/xdisp.c | 6 ++++-- 6 files changed, 32 insertions(+), 6 deletions(-) diff --git a/nt/ChangeLog b/nt/ChangeLog index d34d23df4d..cb63a90bb4 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2012-11-19 Eli Zaretskii + + * inc/stdint.h (PTRDIFF_MIN) [!__GNUC__]: Define for MSVC. + 2012-11-01 Eli Zaretskii * inc/unistd.h (setpgid, getpgrp): Provide prototypes. (Bug#12776) diff --git a/nt/inc/stdint.h b/nt/inc/stdint.h index 5c53fa18b5..edb0469eb8 100644 --- a/nt/inc/stdint.h +++ b/nt/inc/stdint.h @@ -60,6 +60,7 @@ typedef unsigned int uint32_t; #endif #define PTRDIFF_MAX INTPTR_MAX +#define PTRDIFF_MIN INTPTR_MIN #endif /* !__GNUC__ */ diff --git a/src/ChangeLog b/src/ChangeLog index c4f1ee60d8..da5a960790 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,15 @@ +2012-11-19 Eli Zaretskii + + * xdisp.c (start_hourglass) [HAVE_NTGUI]: Don't mix declaration of + w32_note_current_window with code. (Backport from trunk.) + + * w32.c (FILE_DEVICE_FILE_SYSTEM, METHOD_BUFFERED) + (FILE_ANY_ACCESS, CTL_CODE, FSCTL_GET_REPARSE_POINT) [_MSC_VER]: + Define for the MSVC compiler. + + * w32term.h (EnumSystemLocalesW) [_MSC_VER]: Add a missing + semi-colon. + 2012-11-18 Eli Zaretskii * fileio.c (Fsubstitute_in_file_name, Ffile_name_directory) diff --git a/src/w32.c b/src/w32.c index 5ac1bc3eb7..1c3331516d 100644 --- a/src/w32.c +++ b/src/w32.c @@ -119,9 +119,10 @@ typedef struct _PROCESS_MEMORY_COUNTERS_EX { #include #ifdef _MSC_VER -/* MSVC doesn't provide the definition of REPARSE_DATA_BUFFER, except - on ntifs.h, which cannot be included because it triggers conflicts - with other Windows API headers. So we define it here by hand. */ +/* MSVC doesn't provide the definition of REPARSE_DATA_BUFFER and the + associated macros, except on ntifs.h, which cannot be included + because it triggers conflicts with other Windows API headers. So + we define it here by hand. */ typedef struct _REPARSE_DATA_BUFFER { ULONG ReparseTag; @@ -149,6 +150,12 @@ typedef struct _REPARSE_DATA_BUFFER { } DUMMYUNIONNAME; } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; +#define FILE_DEVICE_FILE_SYSTEM 9 +#define METHOD_BUFFERED 0 +#define FILE_ANY_ACCESS 0x00000000 +#define CTL_CODE(t,f,m,a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) +#define FSCTL_GET_REPARSE_POINT \ + CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) #endif /* TCP connection support. */ diff --git a/src/w32term.h b/src/w32term.h index 6e30d374c8..9b5a4a0189 100644 --- a/src/w32term.h +++ b/src/w32term.h @@ -758,7 +758,7 @@ extern int w32_system_caret_y; typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR); typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR); BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD); -BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD) +BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD); #ifdef UNICODE #define EnumSystemLocales EnumSystemLocalesW #else diff --git a/src/xdisp.c b/src/xdisp.c index 290c3a07fe..85fe9a00f6 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -29433,8 +29433,10 @@ start_hourglass (void) delay = make_emacs_time (DEFAULT_HOURGLASS_DELAY, 0); #ifdef HAVE_NTGUI - extern void w32_note_current_window (void); - w32_note_current_window (); + { + extern void w32_note_current_window (void); + w32_note_current_window (); + } #endif /* HAVE_NTGUI */ hourglass_atimer = start_atimer (ATIMER_RELATIVE, delay, -- 2.39.2