changeset 14451:9992af1ec9d3 v8.1.0239

patch 8.1.0239: now Ruby build fails on other systems commit https://github.com/vim/vim/commit/218beb3e96bcb7b20395be3bec6076c767be71a1 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 4 17:24:44 2018 +0200 patch 8.1.0239: now Ruby build fails on other systems Problem: Now Ruby build fails on other systems. Solution: Always define rb_intern. (Ken Takata, closes https://github.com/vim/vim/issues/3275)
author Christian Brabandt <cb@256bit.org>
date Sat, 04 Aug 2018 17:30:04 +0200
parents 7f74f9597c02
children afd3ea009e06
files src/if_ruby.c src/version.c
diffstat 2 files changed, 8 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -253,12 +253,12 @@ static void ruby_vim_init(void);
 # define rb_hash_new			dll_rb_hash_new
 # define rb_inspect			dll_rb_inspect
 # define rb_int2inum			dll_rb_int2inum
-# ifndef rb_intern
-#  define rb_intern			dll_rb_intern
-# endif
-# ifdef RUBY_CONST_ID_CACHE
-#  define rb_intern2			dll_rb_intern2
-# endif
+
+// ruby.h may redefine rb_intern to use RUBY_CONST_ID_CACHE(), but that won't
+// work.  Not using the cache appears to be the best solution.
+# undef rb_intern
+# define rb_intern			dll_rb_intern
+
 # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
 #  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 18
 #   define rb_fix2int			dll_rb_fix2int
@@ -394,9 +394,6 @@ static VALUE (*dll_rb_hash_new) (void);
 static VALUE (*dll_rb_inspect) (VALUE);
 static VALUE (*dll_rb_int2inum) (long);
 static ID (*dll_rb_intern) (const char*);
-# ifdef RUBY_CONST_ID_CACHE
-static ID (*dll_rb_intern2) (const char*, long);
-# endif
 # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
 static long (*dll_rb_fix2int) (VALUE);
 static long (*dll_rb_num2int) (VALUE);
@@ -597,9 +594,6 @@ static struct
     {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
     {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
     {"rb_intern", (RUBY_PROC*)&dll_rb_intern},
-# ifdef RUBY_CONST_ID_CACHE
-    {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
-# endif
 # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */
     {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
     {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
--- a/src/version.c
+++ b/src/version.c
@@ -795,6 +795,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    239,
+/**/
     238,
 /**/
     237,