f93f47f
To: vim-dev@vim.org
f93f47f
Subject: Patch 7.2.360
f93f47f
Fcc: outbox
f93f47f
From: Bram Moolenaar <Bram@moolenaar.net>
f93f47f
Mime-Version: 1.0
f93f47f
Content-Type: text/plain; charset=UTF-8
f93f47f
Content-Transfer-Encoding: 8bit
f93f47f
------------
f93f47f
f93f47f
Patch 7.2.360
f93f47f
Problem:    Ruby on MS-Windows: can't use sockets.
f93f47f
Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)
f93f47f
Files:	    src/if_ruby.c
f93f47f
f93f47f
f93f47f
*** ../vim-7.2.359/src/if_ruby.c	2009-05-22 18:20:23.000000000 +0200
f93f47f
--- src/if_ruby.c	2010-02-17 15:04:00.000000000 +0100
f93f47f
***************
f93f47f
*** 48,53 ****
f93f47f
--- 48,58 ----
f93f47f
  # endif
f93f47f
  #endif
f93f47f
  
f93f47f
+ /* suggested by Ariya Mizutani */
f93f47f
+ #if (_MSC_VER == 1200)
f93f47f
+ # undef _WIN32_WINNT
f93f47f
+ #endif
f93f47f
+ 
f93f47f
  #include <ruby.h>
f93f47f
  
f93f47f
  #undef EXTERN
f93f47f
***************
f93f47f
*** 132,137 ****
f93f47f
--- 137,143 ----
f93f47f
  #define ruby_errinfo			(*dll_ruby_errinfo)
f93f47f
  #define ruby_init			dll_ruby_init
f93f47f
  #define ruby_init_loadpath		dll_ruby_init_loadpath
f93f47f
+ #define NtInitialize			dll_NtInitialize
f93f47f
  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
f93f47f
  # define rb_w32_snprintf		dll_rb_w32_snprintf
f93f47f
  #endif
f93f47f
***************
f93f47f
*** 186,191 ****
f93f47f
--- 192,198 ----
f93f47f
  static VALUE *dll_ruby_errinfo;
f93f47f
  static void (*dll_ruby_init) (void);
f93f47f
  static void (*dll_ruby_init_loadpath) (void);
f93f47f
+ static void (*dll_NtInitialize) (int*, char***);
f93f47f
  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
f93f47f
  static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...);
f93f47f
  #endif
f93f47f
***************
f93f47f
*** 248,253 ****
f93f47f
--- 255,261 ----
f93f47f
      {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo},
f93f47f
      {"ruby_init", (RUBY_PROC*)&dll_ruby_init},
f93f47f
      {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath},
f93f47f
+     {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize},
f93f47f
  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
f93f47f
      {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf},
f93f47f
  #endif
f93f47f
***************
f93f47f
*** 414,419 ****
f93f47f
--- 422,433 ----
f93f47f
  	if (ruby_enabled(TRUE))
f93f47f
  	{
f93f47f
  #endif
f93f47f
+ #ifdef _WIN32
f93f47f
+ 	    /* suggested by Ariya Mizutani */
f93f47f
+ 	    int argc = 1;
f93f47f
+ 	    char *argv[] = {"gvim.exe"};
f93f47f
+ 	    NtInitialize(&argc, &argv);
f93f47f
+ #endif
f93f47f
  	    ruby_init();
f93f47f
  	    ruby_init_loadpath();
f93f47f
  	    ruby_io_init();
f93f47f
*** ../vim-7.2.359/src/version.c	2010-02-11 18:54:38.000000000 +0100
f93f47f
--- src/version.c	2010-02-17 15:10:22.000000000 +0100
f93f47f
***************
f93f47f
*** 683,684 ****
f93f47f
--- 683,686 ----
f93f47f
  {   /* Add new patch number below this line */
f93f47f
+ /**/
f93f47f
+     360,
f93f47f
  /**/
f93f47f
f93f47f
-- 
f93f47f
"After a few years of marriage a man can look right at a woman
f93f47f
without seeing her and a woman can see right through a man
f93f47f
without looking at him."
f93f47f
 - Helen Rowland
f93f47f
f93f47f
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
f93f47f
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
f93f47f
\\\        download, build and distribute -- http://www.A-A-P.org        ///
f93f47f
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///