Mercurial > vim
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