Karsten Hopp 369c4d
To: vim_dev@googlegroups.com
Karsten Hopp 369c4d
Subject: Patch 7.4.927
Karsten Hopp 369c4d
Fcc: outbox
Karsten Hopp 369c4d
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 369c4d
Mime-Version: 1.0
Karsten Hopp 369c4d
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 369c4d
Content-Transfer-Encoding: 8bit
Karsten Hopp 369c4d
------------
Karsten Hopp 369c4d
Karsten Hopp 369c4d
Patch 7.4.927
Karsten Hopp 369c4d
Problem:    Ruby crashes when there is a runtime error.
Karsten Hopp 369c4d
Solution:   Use ruby_options() instead of ruby_process_options(). (Damien)
Karsten Hopp 369c4d
Files:      src/if_ruby.c
Karsten Hopp 369c4d
Karsten Hopp 369c4d
Karsten Hopp 369c4d
*** ../vim-7.4.926/src/if_ruby.c	2015-11-02 15:27:03.438325506 +0100
Karsten Hopp 369c4d
--- src/if_ruby.c	2015-11-19 19:32:10.991642881 +0100
Karsten Hopp 369c4d
***************
Karsten Hopp 369c4d
*** 280,286 ****
Karsten Hopp 369c4d
  #  define rb_enc_str_new			dll_rb_enc_str_new
Karsten Hopp 369c4d
  #  define rb_sprintf			dll_rb_sprintf
Karsten Hopp 369c4d
  #  define rb_require			dll_rb_require
Karsten Hopp 369c4d
! #  define ruby_process_options		dll_ruby_process_options
Karsten Hopp 369c4d
  # endif
Karsten Hopp 369c4d
  
Karsten Hopp 369c4d
  /*
Karsten Hopp 369c4d
--- 280,286 ----
Karsten Hopp 369c4d
  #  define rb_enc_str_new			dll_rb_enc_str_new
Karsten Hopp 369c4d
  #  define rb_sprintf			dll_rb_sprintf
Karsten Hopp 369c4d
  #  define rb_require			dll_rb_require
Karsten Hopp 369c4d
! #  define ruby_options			dll_ruby_options
Karsten Hopp 369c4d
  # endif
Karsten Hopp 369c4d
  
Karsten Hopp 369c4d
  /*
Karsten Hopp 369c4d
***************
Karsten Hopp 369c4d
*** 384,390 ****
Karsten Hopp 369c4d
  static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
Karsten Hopp 369c4d
  static VALUE (*dll_rb_sprintf) (const char*, ...);
Karsten Hopp 369c4d
  static VALUE (*dll_rb_require) (const char*);
Karsten Hopp 369c4d
! static void* (*ruby_process_options)(int, char**);
Karsten Hopp 369c4d
  # endif
Karsten Hopp 369c4d
  
Karsten Hopp 369c4d
  # if defined(USE_RGENGC) && USE_RGENGC
Karsten Hopp 369c4d
--- 384,390 ----
Karsten Hopp 369c4d
  static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
Karsten Hopp 369c4d
  static VALUE (*dll_rb_sprintf) (const char*, ...);
Karsten Hopp 369c4d
  static VALUE (*dll_rb_require) (const char*);
Karsten Hopp 369c4d
! static void* (*ruby_options)(int, char**);
Karsten Hopp 369c4d
  # endif
Karsten Hopp 369c4d
  
Karsten Hopp 369c4d
  # if defined(USE_RGENGC) && USE_RGENGC
Karsten Hopp 369c4d
***************
Karsten Hopp 369c4d
*** 565,571 ****
Karsten Hopp 369c4d
      {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
Karsten Hopp 369c4d
      {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
Karsten Hopp 369c4d
      {"rb_require", (RUBY_PROC*)&dll_rb_require},
Karsten Hopp 369c4d
!     {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options},
Karsten Hopp 369c4d
  # endif
Karsten Hopp 369c4d
  # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)
Karsten Hopp 369c4d
  #  ifdef __ia64
Karsten Hopp 369c4d
--- 565,571 ----
Karsten Hopp 369c4d
      {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
Karsten Hopp 369c4d
      {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
Karsten Hopp 369c4d
      {"rb_require", (RUBY_PROC*)&dll_rb_require},
Karsten Hopp 369c4d
!     {"ruby_options", (RUBY_PROC*)&dll_ruby_options},
Karsten Hopp 369c4d
  # endif
Karsten Hopp 369c4d
  # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)
Karsten Hopp 369c4d
  #  ifdef __ia64
Karsten Hopp 369c4d
***************
Karsten Hopp 369c4d
*** 817,823 ****
Karsten Hopp 369c4d
  	    {
Karsten Hopp 369c4d
  		int dummy_argc = 2;
Karsten Hopp 369c4d
  		char *dummy_argv[] = {"vim-ruby", "-e0"};
Karsten Hopp 369c4d
! 		ruby_process_options(dummy_argc, dummy_argv);
Karsten Hopp 369c4d
  	    }
Karsten Hopp 369c4d
  	    ruby_script("vim-ruby");
Karsten Hopp 369c4d
  #else
Karsten Hopp 369c4d
--- 817,823 ----
Karsten Hopp 369c4d
  	    {
Karsten Hopp 369c4d
  		int dummy_argc = 2;
Karsten Hopp 369c4d
  		char *dummy_argv[] = {"vim-ruby", "-e0"};
Karsten Hopp 369c4d
! 		ruby_options(dummy_argc, dummy_argv);
Karsten Hopp 369c4d
  	    }
Karsten Hopp 369c4d
  	    ruby_script("vim-ruby");
Karsten Hopp 369c4d
  #else
Karsten Hopp 369c4d
*** ../vim-7.4.926/src/version.c	2015-11-19 19:00:01.768467013 +0100
Karsten Hopp 369c4d
--- src/version.c	2015-11-19 19:31:02.392387974 +0100
Karsten Hopp 369c4d
***************
Karsten Hopp 369c4d
*** 743,744 ****
Karsten Hopp 369c4d
--- 743,746 ----
Karsten Hopp 369c4d
  {   /* Add new patch number below this line */
Karsten Hopp 369c4d
+ /**/
Karsten Hopp 369c4d
+     927,
Karsten Hopp 369c4d
  /**/
Karsten Hopp 369c4d
Karsten Hopp 369c4d
-- 
Karsten Hopp 369c4d
hundred-and-one symptoms of being an internet addict:
Karsten Hopp 369c4d
116. You are living with your boyfriend who networks your respective
Karsten Hopp 369c4d
     computers so you can sit in separate rooms and email each other
Karsten Hopp 369c4d
Karsten Hopp 369c4d
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 369c4d
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 369c4d
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 369c4d
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///