Ah, I notice that code was removed in latest.
Then, patch become following.
Thanks.
diff -r fae782ef63dd src/if_ruby.c
--- a/src/if_ruby.c Thu Sep 30 21:47:56 2010 +0200
+++ b/src/if_ruby.c Wed Oct 06 14:20:19 2010 +0900
@@ -216,6 +216,9 @@
# 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 Init_prelude dll_Init_prelude
# define rb_sprintf dll_rb_sprintf
# define ruby_init_stack dll_ruby_init_stack
#endif
@@ -302,6 +305,9 @@
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
@@ -409,6 +415,9 @@
{"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},
+ {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
#endif
@@ -646,6 +655,10 @@
ruby_io_init();
#ifdef RUBY19_OR_LATER
rb_enc_find_index("encdb");
+
+ rb_define_module("Gem");
+ Init_prelude();
#endif
ruby_vim_init();
ruby_initialized = 1;
On Nov 11, 9:39 am, mattn <[email protected]> wrote:
> This code is included in 'ruby.c'. Perhaps, cause is similarly
> following (I guess).
>
> http://osdir.com/ml/ruby-core/2010-03/msg00337.html
>
> This workaround code remove the const for re-define one. (I guess)
>
> - Yasuhiro Matsumoto
>
> On Nov 11, 2:56 am, Bram Moolenaar <[email protected]> wrote:
>
>
>
>
>
>
>
> > Yasuhiro Matsumoto wrote:
> > > TMP_RUBY_PREFIX is sets incorrect values in gem prelude when ruby is
> > > installed
> > > in HOME.
>
> > That sounds like a bit of a hack. Can you explain this further?
>
> > The Ruby interface (like the Python interface) is a bit brittle, since a
> > lot of this code isn't properly documented and is changed by people who
> > don't know about or don't care about integration of the interpreter in
> > other programs. We need to be careful.
>
> > --
> > It is illegal for a driver to be blindfolded while operating a vehicle.
> > [real standing law in Alabama, United States of America]
>
> > /// Bram Moolenaar -- [email protected] --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 ///
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php