changeset 9278:97b0b568f820 v7.4.1922

commit https://github.com/vim/vim/commit/06469e979fe524ac6cb8f705ed4221aa267de11d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 11 22:26:53 2016 +0200 patch 7.4.1922 Problem: Ruby 2.4.0 unifies Fixnum and Bignum into Integer. Solution: Use rb_cInteger. (Weiong Mao)
author Christian Brabandt <cb@256bit.org>
date Sat, 11 Jun 2016 22:30:06 +0200
parents 68aa58daaf7f
children 09f1b8f9d1a9
files src/if_ruby.c src/version.c
diffstat 2 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -31,6 +31,10 @@
 # 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
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1922,
+/**/
     1921,
 /**/
     1920,