home *** CD-ROM | disk | FTP | other *** search
- To: vim_dev@googlegroups.com
- Subject: Patch 7.3.088
- 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.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 <ruby/encoding.h>
- #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 ///
-