summaryrefslogtreecommitdiff
path: root/src/if_ruby.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-03-28 21:58:21 +0100
committerBram Moolenaar <Bram@vim.org>2014-03-28 21:58:21 +0100
commit498af70e066c66b66f1737b553287c1339846842 (patch)
tree733b755f9824b3946a00a82cb09b8d4350946e30 /src/if_ruby.c
parent3d6db1467b9c3737fcf61e03209f2ffcea5a4bca (diff)
downloadvim-git-498af70e066c66b66f1737b553287c1339846842.tar.gz
updated for version 7.4.227v7.4.227
Problem: Can't build with Ruby 1.8. Solution: Do include a check for the Ruby version. (Ken Takata)
Diffstat (limited to 'src/if_ruby.c')
-rw-r--r--src/if_ruby.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/if_ruby.c b/src/if_ruby.c
index d8c14c652..06465bd5a 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -88,8 +88,9 @@
# define rb_int2big rb_int2big_stub
#endif
-#if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
-/* Ruby 2.0 defines a number of static functions which use rb_fix2int and
+#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
+ && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+/* Ruby 1.9 defines a number of static functions which use rb_fix2int and
* rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
# define rb_fix2int rb_fix2int_stub
# define rb_num2int rb_num2int_stub
@@ -202,6 +203,10 @@ static void ruby_vim_init(void);
# define rb_inspect dll_rb_inspect
# define rb_int2inum dll_rb_int2inum
# 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
+# define rb_num2int dll_rb_num2int
+# endif
# define rb_num2uint dll_rb_num2uint
# endif
# define rb_lastline_get dll_rb_lastline_get
@@ -389,7 +394,8 @@ VALUE rb_int2big_stub(SIGNED_VALUE x)
{
return dll_rb_int2big(x);
}
-# if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
+# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
+ && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
long rb_fix2int_stub(VALUE x)
{
return dll_rb_fix2int(x);