From 87658d0dd7ab9f0c6ca7ae6aa32017e29a27fd86 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Jan 03 2011 16:46:36 +0000 Subject: - patchlevel 088 --- diff --git a/7.3.088 b/7.3.088 new file mode 100644 index 0000000..98acc7c --- /dev/null +++ b/7.3.088 @@ -0,0 +1,152 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.088 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.088 +Problem: Ruby can't load Gems sometimes, may cause a crash. +Solution: Undefine off_t. Use ruby_process_options(). (Yasuhiro Matsumoto) +Files: src/if_ruby.c + + +*** ../vim-7.3.087/src/if_ruby.c 2010-12-08 13:11:15.000000000 +0100 +--- src/if_ruby.c 2010-12-24 12:18:31.000000000 +0100 +*************** +*** 90,95 **** +--- 90,96 ---- + # include + #endif + ++ #undef off_t /* ruby defines off_t as _int64, Mingw uses long */ + #undef EXTERN + #undef _ + +*************** +*** 229,238 **** + # define rb_enc_find_index dll_rb_enc_find_index + # define rb_enc_find dll_rb_enc_find + # define rb_enc_str_new dll_rb_enc_str_new +- # define rb_intern2 dll_rb_intern2 +- # define rb_const_remove dll_rb_const_remove + # define rb_sprintf dll_rb_sprintf + # define ruby_init_stack dll_ruby_init_stack + #endif + + /* +--- 230,239 ---- + # define rb_enc_find_index dll_rb_enc_find_index + # define rb_enc_find dll_rb_enc_find + # define rb_enc_str_new dll_rb_enc_str_new + # define rb_sprintf dll_rb_sprintf ++ # define rb_require dll_rb_require + # define ruby_init_stack dll_ruby_init_stack ++ # define ruby_process_options dll_ruby_process_options + #endif + + /* +*************** +*** 319,329 **** + static int (*dll_rb_enc_find_index) (const char*); + static rb_encoding* (*dll_rb_enc_find) (const char*); + static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); +- static ID (*dll_rb_intern2) (const char*, long); +- static void (*dll_Init_prelude) (void); +- static VALUE (*dll_rb_const_remove) (VALUE, ID); + static VALUE (*dll_rb_sprintf) (const char*, ...); + static void (*ruby_init_stack)(VALUE*); + #endif + + #ifdef RUBY19_OR_LATER +--- 320,329 ---- + static int (*dll_rb_enc_find_index) (const char*); + static rb_encoding* (*dll_rb_enc_find) (const char*); + static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); + static VALUE (*dll_rb_sprintf) (const char*, ...); ++ static VALUE (*dll_rb_require) (const char*); + static void (*ruby_init_stack)(VALUE*); ++ static void* (*ruby_process_options)(int, char**); + #endif + + #ifdef RUBY19_OR_LATER +*************** +*** 430,439 **** + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, + {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, + {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, +- {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2}, +- {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove}, + {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, + {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, + #endif + {"", NULL}, + }; +--- 430,439 ---- + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, + {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, + {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, + {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, ++ {"rb_require", (RUBY_PROC*)&dll_rb_require}, + {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, ++ {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options}, + #endif + {"", NULL}, + }; +*************** +*** 663,680 **** + ruby_init(); + } + #ifdef RUBY19_OR_LATER + ruby_script("vim-ruby"); +! #endif + ruby_init_loadpath(); +- ruby_io_init(); +- #ifdef RUBY19_OR_LATER +- rb_enc_find_index("encdb"); +- +- /* This avoids the error "Encoding::ConverterNotFoundError: code +- * converter not found (UTF-16LE to ASCII-8BIT)". */ +- rb_define_module("Gem"); +- rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15)); + #endif + ruby_vim_init(); + ruby_initialized = 1; + #ifdef DYNAMIC_RUBY +--- 663,678 ---- + ruby_init(); + } + #ifdef RUBY19_OR_LATER ++ { ++ int dummy_argc = 2; ++ char *dummy_argv[] = {"vim-ruby", "-e0"}; ++ ruby_process_options(dummy_argc, dummy_argv); ++ } + ruby_script("vim-ruby"); +! #else + ruby_init_loadpath(); + #endif ++ ruby_io_init(); + ruby_vim_init(); + ruby_initialized = 1; + #ifdef DYNAMIC_RUBY +*** ../vim-7.3.087/src/version.c 2010-12-17 20:23:56.000000000 +0100 +--- src/version.c 2010-12-24 13:38:51.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 88, + /**/ + +-- +It is hard to understand how a cemetery raised its burial +cost and blamed it on the cost of living. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///