patch 8.2.0297: compiler warnings for the Ruby interface
Problem: Compiler warnings for the Ruby interface.
Solution: Undefine a few macros, fix initialization. (Ozaki Kiichi,
closes #5677)
diff --git a/src/if_ruby.c b/src/if_ruby.c
index f4e1e12..a4a59f6 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -209,6 +209,14 @@
/*
* Wrapper defines
*/
+// Ruby 2.7 actually expands the following symbols as macro.
+# if RUBY_VERSION >= 27
+# undef rb_define_global_function
+# undef rb_define_method
+# undef rb_define_module_function
+# undef rb_define_singleton_method
+# endif
+
# define rb_assoc_new dll_rb_assoc_new
# define rb_cObject (*dll_rb_cObject)
# define rb_class_new_instance dll_rb_class_new_instance
@@ -1228,7 +1236,7 @@
"vim_buffer",
{0, 0, buffer_dsize,
# if RUBY_VERSION >= 27
- 0, 0
+ 0, {0}
# else
{0, 0}
# endif
@@ -1508,7 +1516,7 @@
"vim_window",
{0, 0, window_dsize,
# if RUBY_VERSION >= 27
- 0, 0
+ 0, {0}
# else
{0, 0}
# endif