Danek Duvall wrote:

> I've been trying to get dynamic ruby support working on Solaris, with a
> 64-bit build of vim 7.4.192 and Ruby 1.9.  I was getting a pair of link
> errors about rb_fix2int and rb_num2int, and in the course of poking around
> found that the following patch seems to work:
> 
>     --- src/if_ruby.c.orig  Tue Feb 25 10:14:41 2014
>     +++ src/if_ruby.c       Tue Feb 25 10:14:45 2014
>     @@ -88,7 +88,7 @@
>      # define rb_int2big rb_int2big_stub
>      #endif
>      
>     -#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
>     +#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
>           && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
>      /* Ruby 2.0 defines a number of static functions which use rb_fix2int and
>       * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */
>     @@ -392,7 +392,7 @@
>      {
>        return dll_rb_int2big(x);
>      }
>     -#  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \
>     +#  if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \
>           && VIM_SIZEOF_INT < VIM_SIZEOF_LONG
>      long rb_fix2int_stub(VALUE x)
>      {
> 
> I don't know whether that's right or not, though, though our ruby.h
> definitely uses rb_fix2int() and rb_num2int() in macros, which is what it
> sounds like the comment suggests happened in 2.0.
> 
> I do get the following warnings, though:
> 
>     "if_ruby.c", line 206: warning: macro redefined: rb_fix2int
>     "if_ruby.c", line 207: warning: macro redefined: rb_num2int
> 
> which isn't surprising, since fist they're #defined to the stub versions,
> and here they're #defined to the dll_ versions.
> 
> Simple ruby tests work, so it's not all broken, but I don't know enough
> Ruby to test these two functions to see if what I've done is completely
> busted.
> 
> Any help would be appreciated.

Because of the warnings this doesn't appear the perfect fix.
Does someone know better?

-- 
Trees moving back and forth is what makes the wind blow.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Raspunde prin e-mail lui