Karsten Hopp ca6833
To: vim_dev@googlegroups.com
Karsten Hopp ca6833
Subject: Patch 7.3.889
Karsten Hopp ca6833
Fcc: outbox
Karsten Hopp ca6833
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp ca6833
Mime-Version: 1.0
Karsten Hopp ca6833
Content-Type: text/plain; charset=UTF-8
Karsten Hopp ca6833
Content-Transfer-Encoding: 8bit
Karsten Hopp ca6833
------------
Karsten Hopp ca6833
Karsten Hopp ca6833
Patch 7.3.889
Karsten Hopp ca6833
Problem:    Can't build with Ruby 2.0 on a 64 bit system.
Karsten Hopp ca6833
Solution:   Define rb_fix2int and rb_num2int. (Kohei Suzuki)
Karsten Hopp ca6833
Files:	    src/if_ruby.c
Karsten Hopp ca6833
Karsten Hopp ca6833
Karsten Hopp ca6833
*** ../vim-7.3.888/src/if_ruby.c	2013-03-07 15:16:16.000000000 +0100
Karsten Hopp ca6833
--- src/if_ruby.c	2013-04-12 15:25:26.000000000 +0200
Karsten Hopp ca6833
***************
Karsten Hopp ca6833
*** 88,93 ****
Karsten Hopp ca6833
--- 88,101 ----
Karsten Hopp ca6833
  # define rb_int2big rb_int2big_stub
Karsten Hopp ca6833
  #endif
Karsten Hopp ca6833
  
Karsten Hopp ca6833
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
Karsten Hopp ca6833
+ 	&& SIZEOF_INT < SIZEOF_LONG
Karsten Hopp ca6833
+ /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
Karsten Hopp ca6833
+  * rb_num2int if SIZEOF_INT < SIZEOF_LONG (64bit) */
Karsten Hopp ca6833
+ # define rb_fix2int rb_fix2int_stub
Karsten Hopp ca6833
+ # define rb_num2int rb_num2int_stub
Karsten Hopp ca6833
+ #endif
Karsten Hopp ca6833
+ 
Karsten Hopp ca6833
  #include <ruby.h>
Karsten Hopp ca6833
  #ifdef RUBY19_OR_LATER
Karsten Hopp ca6833
  # include <ruby/encoding.h>
Karsten Hopp ca6833
***************
Karsten Hopp ca6833
*** 352,357 ****
Karsten Hopp ca6833
--- 360,376 ----
Karsten Hopp ca6833
  {
Karsten Hopp ca6833
      return dll_rb_int2big(x);
Karsten Hopp ca6833
  }
Karsten Hopp ca6833
+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
Karsten Hopp ca6833
+ 	&& SIZEOF_INT < SIZEOF_LONG
Karsten Hopp ca6833
+ long rb_fix2int_stub(VALUE x)
Karsten Hopp ca6833
+ {
Karsten Hopp ca6833
+     return dll_rb_fix2int(x);
Karsten Hopp ca6833
+ }
Karsten Hopp ca6833
+ long rb_num2int_stub(VALUE x)
Karsten Hopp ca6833
+ {
Karsten Hopp ca6833
+     return dll_rb_num2int(x);
Karsten Hopp ca6833
+ }
Karsten Hopp ca6833
+ #endif
Karsten Hopp ca6833
  #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20
Karsten Hopp ca6833
  VALUE
Karsten Hopp ca6833
  rb_float_new_in_heap(double d)
Karsten Hopp ca6833
*** ../vim-7.3.888/src/version.c	2013-04-12 14:42:35.000000000 +0200
Karsten Hopp ca6833
--- src/version.c	2013-04-12 15:24:15.000000000 +0200
Karsten Hopp ca6833
***************
Karsten Hopp ca6833
*** 730,731 ****
Karsten Hopp ca6833
--- 730,733 ----
Karsten Hopp ca6833
  {   /* Add new patch number below this line */
Karsten Hopp ca6833
+ /**/
Karsten Hopp ca6833
+     889,
Karsten Hopp ca6833
  /**/
Karsten Hopp ca6833
Karsten Hopp ca6833
-- 
Karsten Hopp ca6833
"Hit any key to continue" is very confusing when you have two keyboards.
Karsten Hopp ca6833
Karsten Hopp ca6833
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp ca6833
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp ca6833
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp ca6833
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///