changeset 7364:fe2f6b92d806 v7.4.987

commit https://github.com/vim/vim/commit/0d27f64f7188efef99062a3c5694027c12401670 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Dec 28 22:05:28 2015 +0100 patch 7.4.987 Problem: Can't build with Ruby 1.9.2. Solution: Require Rub 2.0 for defining USE_TYPEDDATA.
author Christian Brabandt <cb@256bit.org>
date Mon, 28 Dec 2015 22:15:04 +0100
parents 968a93fc5b1d
children 9f205a830d9a
files src/if_ruby.c src/version.c
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -81,6 +81,11 @@
 # define RUBY19_OR_LATER 1
 #endif
 
+#if (defined(RUBY_VERSION) && RUBY_VERSION >= 20) \
+    || (defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20)
+# define RUBY20_OR_LATER 1
+#endif
+
 #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
 /* Ruby 1.9 defines a number of static functions which use rb_num2long and
  * rb_int2big */
@@ -122,11 +127,12 @@
 #endif
 
 /*
- * The TypedData_XXX macro family can be used since Ruby 1.9.2, and
- * the old Data_XXX macro family was deprecated on Ruby 2.2.
+ * The TypedData_XXX macro family can be used since Ruby 1.9.2 but
+ * rb_data_type_t changed in 1.9.3, therefore require at least 2.0.
+ * The old Data_XXX macro family was deprecated on Ruby 2.2.
  * Use TypedData_XXX if available.
  */
-#ifdef TypedData_Wrap_Struct
+#if defined(TypedData_Wrap_Struct) && defined(RUBY20_OR_LATER)
 # define USE_TYPEDDATA	1
 #endif
 
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    987,
+/**/
     986,
 /**/
     985,