diff options
Diffstat (limited to 'src/if_ruby.c')
-rw-r--r-- | src/if_ruby.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/if_ruby.c b/src/if_ruby.c index 63f7312503..450f34a0b7 100644 --- a/src/if_ruby.c +++ b/src/if_ruby.c @@ -253,12 +253,12 @@ static void ruby_vim_init(void); # define rb_hash_new dll_rb_hash_new # define rb_inspect dll_rb_inspect # define rb_int2inum dll_rb_int2inum -# ifndef rb_intern -# define rb_intern dll_rb_intern -# endif -# ifdef RUBY_CONST_ID_CACHE -# define rb_intern2 dll_rb_intern2 -# endif + +// ruby.h may redefine rb_intern to use RUBY_CONST_ID_CACHE(), but that won't +// work. Not using the cache appears to be the best solution. +# undef rb_intern +# define rb_intern dll_rb_intern + # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 18 # define rb_fix2int dll_rb_fix2int @@ -394,9 +394,6 @@ static VALUE (*dll_rb_hash_new) (void); static VALUE (*dll_rb_inspect) (VALUE); static VALUE (*dll_rb_int2inum) (long); static ID (*dll_rb_intern) (const char*); -# ifdef RUBY_CONST_ID_CACHE -static ID (*dll_rb_intern2) (const char*, long); -# endif # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ static long (*dll_rb_fix2int) (VALUE); static long (*dll_rb_num2int) (VALUE); @@ -597,9 +594,6 @@ static struct {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect}, {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum}, {"rb_intern", (RUBY_PROC*)&dll_rb_intern}, -# ifdef RUBY_CONST_ID_CACHE - {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2}, -# endif # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int}, {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int}, |