forked from aniani/vim
patch 7.4.1922
Problem: Ruby 2.4.0 unifies Fixnum and Bignum into Integer. Solution: Use rb_cInteger. (Weiong Mao)
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user