On Thu, Feb 18, 2010 at 01:55:52PM +0100, Bram Moolenaar wrote: > > Michael Henry wrote: > > > On 02/17/2010 10:23 AM, Bram Moolenaar wrote: > > > > > > Patch 7.2.361 > > > Problem: Ruby 1.9 is not supported. > > > Solution: Add Ruby 1.9 support. (Msaki Suketa) > > > Files: src/Makefile, src/auto/configure, src/configure.in, > > > src/if_ruby.c > > > > Bram, > > > > Something about this patch isn't quite right, though I don't > > yet know what. It differs in a number of ways from Masaki Suketa's > > patch (note typo "Msaki" in Solution: line above). I can build 7.2.360 > > with Masaki's patch and it still works for me on Fedora 11. I haven't > > yet gotten to try it on Arch with Ruby 1.9. > > > > I can build 7.2.361, but it's giving me odd errors in the Ruby-based > > plugin I'm using: > > > > IndexError: (eval):1063:in `append': NULL line > > > > (This is the LustyExplorer plugin.) > > > > I've attached a diff between 7.2.360 with Masaki's original > > patch and 7.2.361, in case that helps point out the difference > > that's causing the trouble. > > I don't have Fedora 11 thus I can't try it out. It builds find for me > on Ubuntu 9.10, but I haven't tried running any Ruby script.
It's building fine for Michael too. The issue is at runtime.
> Can you make a diff with "diff -w"? And not include the .orig file or
> auto/configure file.
>
> I don't think I changed any of the logic compared to the original patch,
> at least not intentional.
The change in logic is below:
> diff -Naur vim72.360.rubypatch/src/if_ruby.c vim72.361/src/if_ruby.c
> --- vim72.360.rubypatch/src/if_ruby.c 2010-02-18 06:48:21.000000000 -0500
> +++ vim72.361/src/if_ruby.c 2010-02-18 06:44:32.000000000 -0500
> @@ -864,7 +869,10 @@
> long n = NUM2LONG(num);
> aco_save_T aco;
>
> - if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL)
> + if (line != NULL) {
This condition should have been changed to "line == NULL" when it was
made its own, standalone check.
> + rb_raise(rb_eIndexError, "NULL line");
> + }
> + else if (n >= 0 && n <= buf->b_ml.ml_line_count)
> {
> /* set curwin/curbuf for "buf" and save some things */
> aucmd_prepbuf(&aco, buf);
--
James
GPG Key: 1024D/61326D40 2003-09-02 James Vega <[email protected]>
signature.asc
Description: Digital signature
