]> granicus.if.org Git - vim/commitdiff
patch 7.4.1922 v7.4.1922
authorBram Moolenaar <Bram@vim.org>
Sat, 11 Jun 2016 20:26:53 +0000 (22:26 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 11 Jun 2016 20:26:53 +0000 (22:26 +0200)
Problem:    Ruby 2.4.0 unifies Fixnum and Bignum into Integer.
Solution:   Use rb_cInteger. (Weiong Mao)

src/if_ruby.c
src/version.c

index 90e814ec125bcf052ed913a0eabef1c8c8e11be3..7e49906b6a636bc1fa67db0eeb9477a501e6eaa5 100644 (file)
 # define RUBYEXTERN extern
 #endif
 
+# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 24
+ # define USE_RUBY_Integer
+#endif
+
 #ifdef DYNAMIC_RUBY
 /*
  * This is tricky.  In ruby.h there is (inline) function rb_class_of()
@@ -39,6 +43,9 @@
  */
 # define rb_cFalseClass                (*dll_rb_cFalseClass)
 # define rb_cFixnum            (*dll_rb_cFixnum)
+# if defined(USE_RUBY_Integer)
+# define rb_cInteger    (*dll_rb_cInteger)
+# endif
 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
 #  define rb_cFloat            (*dll_rb_cFloat)
 # endif
@@ -318,6 +325,9 @@ static void ruby_vim_init(void);
 static VALUE (*dll_rb_assoc_new) (VALUE, VALUE);
 VALUE *dll_rb_cFalseClass;
 VALUE *dll_rb_cFixnum;
+# if defined(USE_RUBY_Integer)
+VALUE *dll_rb_cInteger;
+# endif
 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
 VALUE *dll_rb_cFloat;
 # endif
@@ -505,6 +515,9 @@ static struct
     {"rb_assoc_new", (RUBY_PROC*)&dll_rb_assoc_new},
     {"rb_cFalseClass", (RUBY_PROC*)&dll_rb_cFalseClass},
     {"rb_cFixnum", (RUBY_PROC*)&dll_rb_cFixnum},
+# if defined(USE_RUBY_Integer)
+    {"rb_cInteger", (RUBY_PROC*)&dll_rb_cInteger},
+# endif
 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
     {"rb_cFloat", (RUBY_PROC*)&dll_rb_cFloat},
 # endif
index 6dc2efb57f527edf0f48a1cf938d0c1e8de8031d..39e70e57d2c4cc489c001702a9626ab8faf545e0 100644 (file)
@@ -753,6 +753,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1922,
 /**/
     1921,
 /**/