From: Bram Moolenaar Date: Wed, 17 Feb 2010 14:11:50 +0000 (+0100) Subject: updated for version 7.2.360 X-Git-Tag: v7.2.360 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0b69c73411bfe259d7b9ee87d11554545bedbfd5;p=vim updated for version 7.2.360 Problem: Ruby on MS-Windows: can't use sockets. Solution: Call NtInitialize() during initialization. (Ariya Mizutani) --- diff --git a/src/if_ruby.c b/src/if_ruby.c index 0fed2c018..4aac79a6b 100644 --- a/src/if_ruby.c +++ b/src/if_ruby.c @@ -48,6 +48,11 @@ # endif #endif +/* suggested by Ariya Mizutani */ +#if (_MSC_VER == 1200) +# undef _WIN32_WINNT +#endif + #include #undef EXTERN @@ -132,6 +137,7 @@ static void ruby_vim_init(void); #define ruby_errinfo (*dll_ruby_errinfo) #define ruby_init dll_ruby_init #define ruby_init_loadpath dll_ruby_init_loadpath +#define NtInitialize dll_NtInitialize #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 # define rb_w32_snprintf dll_rb_w32_snprintf #endif @@ -186,6 +192,7 @@ static VALUE (*dll_rb_str_new2) (const char*); static VALUE *dll_ruby_errinfo; static void (*dll_ruby_init) (void); static void (*dll_ruby_init_loadpath) (void); +static void (*dll_NtInitialize) (int*, char***); #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); #endif @@ -248,6 +255,7 @@ static struct {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, + {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, #endif @@ -413,6 +421,12 @@ static int ensure_ruby_initialized(void) #ifdef DYNAMIC_RUBY if (ruby_enabled(TRUE)) { +#endif +#ifdef _WIN32 + /* suggested by Ariya Mizutani */ + int argc = 1; + char *argv[] = {"gvim.exe"}; + NtInitialize(&argc, &argv); #endif ruby_init(); ruby_init_loadpath(); diff --git a/src/version.c b/src/version.c index 5ffee97d2..9abb32ae9 100644 --- a/src/version.c +++ b/src/version.c @@ -681,6 +681,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 360, /**/ 359, /**/