]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.834 v7.3.834
authorBram Moolenaar <Bram@vim.org>
Tue, 26 Feb 2013 12:41:35 +0000 (13:41 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 26 Feb 2013 12:41:35 +0000 (13:41 +0100)
Problem:    Ruby 2.0 has a few API changes.
Solution:   Add handling of Ruby 2.0. (Yasuhiro Matsumoto)

src/if_ruby.c
src/version.c

index ce40bbe8a568767cbb59c6a5468fda4845df4f03..818aacbfc773845f2f925cea6c56a05962c2536b 100644 (file)
@@ -189,7 +189,9 @@ static void ruby_vim_init(void);
 #ifndef RUBY19_OR_LATER
 #define rb_num2long                    dll_rb_num2long
 #endif
+#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 19
 #define rb_num2ulong                   dll_rb_num2ulong
+#endif
 #define rb_obj_alloc                   dll_rb_obj_alloc
 #define rb_obj_as_string               dll_rb_obj_as_string
 #define rb_obj_id                      dll_rb_obj_id
@@ -344,6 +346,17 @@ VALUE rb_int2big_stub(SIGNED_VALUE x)
 {
     return dll_rb_int2big(x);
 }
+#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
+VALUE
+rb_float_new_in_heap(double d)
+{
+    return dll_rb_float_new(d);
+}
+unsigned long rb_num2ulong(VALUE x)
+{
+    return (long)RSHIFT((SIGNED_VALUE)(x),1);
+}
+#endif
 #endif
 
 static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
@@ -434,7 +447,11 @@ static struct
 #endif
 #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
     {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr},
+# if DYNAMIC_RUBY_VER <= 19
     {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new},
+# else
+    {"rb_float_new_in_heap", (RUBY_PROC*)&dll_rb_float_new},
+# endif
     {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new},
     {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push},
 #endif
index 3ab85483431f7a83335073f16d690deb7749c256..309732afb8b9efd46c55720a3bf25694bd01a2f2 100644 (file)
@@ -728,6 +728,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    834,
 /**/
     833,
 /**/