diff options
author | Bram Moolenaar <Bram@vim.org> | 2018-12-27 22:11:01 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2018-12-27 22:11:01 +0100 |
commit | b09c684195d803137d52c34fb4d3a410be5ac10f (patch) | |
tree | aacd21c55d39285f90db7e1278658a8d84191f2f /src/if_ruby.c | |
parent | 06d626032330dc79825004f9cba7d154c9c90cbc (diff) | |
download | vim-git-b09c684195d803137d52c34fb4d3a410be5ac10f.tar.gz |
patch 8.1.0646: cannot build with Ruby 2.6.0v8.1.0646
Problem: Cannot build with Ruby 2.6.0.
Solution: Add rb_ary_detransient(). (Ozaki Kiichi, closes #3724)
Diffstat (limited to 'src/if_ruby.c')
-rw-r--r-- | src/if_ruby.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/if_ruby.c b/src/if_ruby.c index cb9b41603..34fc0ed1c 100644 --- a/src/if_ruby.c +++ b/src/if_ruby.c @@ -123,6 +123,10 @@ # define rb_gc_writebarrier_unprotect rb_gc_writebarrier_unprotect_stub #endif +#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 26 +# define rb_ary_detransient (*dll_rb_ary_detransient) +#endif + #include <ruby.h> #ifdef RUBY19_OR_LATER # include <ruby/encoding.h> @@ -455,6 +459,9 @@ static VALUE (*dll_rb_float_new) (double); static VALUE (*dll_rb_ary_new) (void); static VALUE (*dll_rb_ary_new4) (long n, const VALUE *elts); static VALUE (*dll_rb_ary_push) (VALUE, VALUE); +# if DYNAMIC_RUBY_VER >= 26 +static void (*dll_rb_ary_detransient) (VALUE); +# endif # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) # ifdef __ia64 static void * (*dll_rb_ia64_bsp) (void); @@ -666,6 +673,9 @@ static struct {"rb_ary_new4", (RUBY_PROC*)&dll_rb_ary_new4}, # endif {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, +# if DYNAMIC_RUBY_VER >= 26 + {"rb_ary_detransient", (RUBY_PROC*)&dll_rb_ary_detransient}, +# endif # endif # ifdef RUBY19_OR_LATER {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, @@ -966,12 +976,9 @@ static int ensure_ruby_initialized(void) static void error_print(int state) { -#ifndef DYNAMIC_RUBY -#if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) \ - && !(defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19) +#if !defined(DYNAMIC_RUBY) && !defined(RUBY19_OR_LATER) RUBYEXTERN VALUE ruby_errinfo; #endif -#endif VALUE error; VALUE eclass; VALUE einfo; |