| To: vim-dev@vim.org |
| Subject: Patch 7.2.360 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.2.360 |
| Problem: Ruby on MS-Windows: can't use sockets. |
| Solution: Call NtInitialize() during initialization. (Ariya Mizutani) |
| Files: src/if_ruby.c |
| |
| |
| |
| |
| |
| *** 48,53 **** |
| --- 48,58 ---- |
| # endif |
| #endif |
| |
| + /* suggested by Ariya Mizutani */ |
| + #if (_MSC_VER == 1200) |
| + # undef _WIN32_WINNT |
| + #endif |
| + |
| #include <ruby.h> |
| |
| #undef EXTERN |
| |
| *** 132,137 **** |
| --- 137,143 ---- |
| #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,191 **** |
| --- 192,198 ---- |
| 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,253 **** |
| --- 255,261 ---- |
| {"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 |
| |
| *** 414,419 **** |
| --- 422,433 ---- |
| 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(); |
| ruby_io_init(); |
| |
| |
| |
| *** 683,684 **** |
| --- 683,686 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 360, |
| /**/ |
| |
| -- |
| "After a few years of marriage a man can look right at a woman |
| without seeing her and a woman can see right through a man |
| without looking at him." |
| - Helen Rowland |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |