Patch 7.3.662

132 views
Skip to first unread message

Bram Moolenaar

unread,
Sep 18, 2012, 10:37:13 AM9/18/12
to vim...@googlegroups.com

Patch 7.3.662
Problem: Can't build Ruby interface with Ruby 1.9.3.
Solution: Add missing functions. (V. Ondruch)
Files: src/if_ruby.c


*** ../vim-7.3.661/src/if_ruby.c 2012-04-25 12:28:05.000000000 +0200
--- src/if_ruby.c 2012-09-18 16:31:45.000000000 +0200
***************
*** 178,183 ****
--- 178,186 ----
#define rb_hash_new dll_rb_hash_new
#define rb_inspect dll_rb_inspect
#define rb_int2inum dll_rb_int2inum
+ #define rb_fix2int dll_rb_fix2int
+ #define rb_num2int dll_rb_num2int
+ #define rb_num2uint dll_rb_num2uint
#define rb_lastline_get dll_rb_lastline_get
#define rb_lastline_set dll_rb_lastline_set
#define rb_load_protect dll_rb_load_protect
***************
*** 268,274 ****
static VALUE (*dll_rb_hash_new) (void);
static VALUE (*dll_rb_inspect) (VALUE);
static VALUE (*dll_rb_int2inum) (long);
! static VALUE (*dll_rb_int2inum) (long);
static VALUE (*dll_rb_lastline_get) (void);
static void (*dll_rb_lastline_set) (VALUE);
static void (*dll_rb_load_protect) (VALUE, int, int*);
--- 271,279 ----
static VALUE (*dll_rb_hash_new) (void);
static VALUE (*dll_rb_inspect) (VALUE);
static VALUE (*dll_rb_int2inum) (long);
! static long (*dll_rb_fix2int) (VALUE);
! static long (*dll_rb_num2int) (VALUE);
! static unsigned long (*dll_rb_num2uint) (VALUE);
static VALUE (*dll_rb_lastline_get) (void);
static void (*dll_rb_lastline_set) (VALUE);
static void (*dll_rb_load_protect) (VALUE, int, int*);
***************
*** 377,382 ****
--- 382,390 ----
{"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new},
{"rb_inspect", (RUBY_PROC*)&dll_rb_inspect},
{"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum},
+ {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int},
+ {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int},
+ {"rb_num2uint", (RUBY_PROC*)&dll_rb_num2uint},
{"rb_lastline_get", (RUBY_PROC*)&dll_rb_lastline_get},
{"rb_lastline_set", (RUBY_PROC*)&dll_rb_lastline_set},
{"rb_load_protect", (RUBY_PROC*)&dll_rb_load_protect},
*** ../vim-7.3.661/src/version.c 2012-09-12 20:21:38.000000000 +0200
--- src/version.c 2012-09-18 16:35:53.000000000 +0200
***************
*** 721,722 ****
--- 721,724 ----
{ /* Add new patch number below this line */
+ /**/
+ 662,
/**/

--
FATHER: We are here today to witness the union of two young people in the
joyful bond of the holy wedlock. Unfortunately, one of them, my son
Herbert, has just fallen to his death.
[Murmurs from CROWD; the BRIDE smiles with relief, coughs.]
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

/// Bram Moolenaar -- Br...@Moolenaar.net -- 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 ///

mattn

unread,
Sep 21, 2012, 9:38:34 AM9/21/12
to vim...@googlegroups.com
This patch seems broken.

C:\vim\src>ruby --version
ruby 1.9.3p125 (2012-02-16) [i386-mingw32]

:ruby puts 1
E448: Could not load library function rb_num2uint
E266: Sorry, this command is disabled, the Ruby library could not be loaded.
Press ENTER or type command to continue

Bram Moolenaar

unread,
Sep 22, 2012, 4:36:51 PM9/22/12
to mattn, vim...@googlegroups.com
Any idea how to fix it? Is this bad enough to revert the patch?

--
TIM: To the north there lies a cave, the cave of Caerbannog, wherein, carved
in mystic runes, upon the very living rock, the last words of Olfin
Bedwere of Rheged make plain the last resting place of the most Holy
Grail.

Ken Takata

unread,
Sep 23, 2012, 1:52:10 AM9/23/12
to vim...@googlegroups.com, mattn
Hi Bram and mattn,

Please try the attached patch.
It seems that rb_num2uint and some other functions are exported
on 64-bit platforms but not on 32-bit platforms.

Regards,
Ken Takata

fix-ruby-dyn-7.3.662.patch

Bram Moolenaar

unread,
Sep 23, 2012, 5:58:15 AM9/23/12
to Ken Takata, vim...@googlegroups.com, mattn

Ken Takata wrote:

> Hi Bram and mattn,
>
> Please try the attached patch.
> It seems that rb_num2uint and some other functions are exported
> on 64-bit platforms but not on 32-bit platforms.

Thanks. Can a few people try this out?

--
The Law of VIM:
For each member b of the possible behaviour space B of program P, there exists
a finite time t before which at least one user u in the total user space U of
program P will request b becomes a member of the allowed behaviour space B'
(B' <= B).
In other words: Sooner or later everyone wants everything as an option.
-- Vince Negri

mattn

unread,
Sep 24, 2012, 2:58:21 AM9/24/12
to vim...@googlegroups.com, Ken Takata, mattn
On Sunday, September 23, 2012 6:58:36 PM UTC+9, Bram Moolenaar wrote:
> Ken Takata wrote:
>
>
>
> > Hi Bram and mattn,
>
> >
>
> > Please try the attached patch.
>
> > It seems that rb_num2uint and some other functions are exported
>
> > on 64-bit platforms but not on 32-bit platforms.
>
>
>
> Thanks. Can a few people try this out?

I've make sure this patch working on my windows+ruby193.

Ike Devolder

unread,
Sep 24, 2012, 3:04:43 PM9/24/12
to vim...@googlegroups.com
> --
> 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

I can also confirm the additional patch makes it work all fine on i686
and x86_64 archlinux and ruby 1.9.3p194

--
Ike
Reply all
Reply to author
Forward
0 new messages