]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.2036: if_ruby: build error with ruby 4.0 v9.1.2036
authorEnumDev <enumdev@enumerated.dev>
Thu, 1 Jan 2026 14:25:38 +0000 (14:25 +0000)
committerChristian Brabandt <cb@256bit.org>
Thu, 1 Jan 2026 14:25:38 +0000 (14:25 +0000)
Problem:  if_ruby: build error with ruby 4.0
          (Mamoru Tasaka)
Solution: Always define rb_check_typeddata (EnumDev).

fixes:  #18884
closes: #19051

Signed-off-by: EnumDev <enumdev@enumerated.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/if_ruby.c
src/version.c

index 6af508beccdc1dd69ce1b8b16297b884772f60d1..49fdc34dd5316bf23855cf31b79c6dd2cdc4e391 100644 (file)
@@ -244,6 +244,9 @@ static int ruby_convert_to_vim_value(VALUE val, typval_T *rettv);
 #  define rb_check_type                        dll_rb_check_type
 # endif
 # ifdef USE_TYPEDDATA
+#  if RUBY_VERSION >= 40
+#    define rbimpl_check_typeddata             dll_rbimpl_check_typeddata
+#  endif
 #  define rb_check_typeddata           dll_rb_check_typeddata
 # endif
 # define rb_class_path                 dll_rb_class_path
@@ -373,6 +376,9 @@ VALUE *dll_rb_cTrueClass;
 static VALUE (*dll_rb_class_new_instance) (int,VALUE*,VALUE);
 static void (*dll_rb_check_type) (VALUE,int);
 # ifdef USE_TYPEDDATA
+#  if RUBY_VERSION >= 40
+static void *(*dll_rbimpl_check_typeddata) (VALUE,const rb_data_type_t *);
+#  endif
 static void *(*dll_rb_check_typeddata) (VALUE,const rb_data_type_t *);
 # endif
 static VALUE (*dll_rb_class_path) (VALUE);
index c04f67b90ba7d8e3e0579d623f90d13e36bace1d..77eed6f88799141b29dac08276d679fec0fc4b30 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2036,
 /**/
     2035,
 /**/