[vim/f13] Patchlevel 058

Karsten Hopp karsten at fedoraproject.org
Tue Jun 7 09:46:33 UTC 2011


commit 89d807edda325e7d161eb113a4c19217c5f188f0
Author: Karsten Hopp <karsten at redhat.com>
Date:   Tue Jun 7 11:44:16 2011 +0200

    Patchlevel 058

 7.3.058 |  158 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 158 insertions(+), 0 deletions(-)
---
diff --git a/7.3.058 b/7.3.058
new file mode 100644
index 0000000..b1ede33
--- /dev/null
+++ b/7.3.058
@@ -0,0 +1,158 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.058
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.058
+Problem:    Error "code converter not found" when loading Ruby script.
+Solution:   Load Gem module. (Yasuhiro Matsumoto)
+Files:	    src/if_ruby.c
+
+
+*** ../vim-7.3.057/src/if_ruby.c	2010-10-27 17:40:53.000000000 +0200
+--- src/if_ruby.c	2010-11-16 14:37:48.000000000 +0100
+***************
+*** 229,234 ****
+--- 229,237 ----
+  # define rb_enc_find_index		dll_rb_enc_find_index
+  # define rb_enc_find			dll_rb_enc_find
+  # define rb_enc_str_new			dll_rb_enc_str_new
++ # define rb_intern2			dll_rb_intern2
++ # define rb_const_remove		dll_rb_const_remove
++ # define Init_prelude			dll_Init_prelude
+  # define rb_sprintf			dll_rb_sprintf
+  # define ruby_init_stack		dll_ruby_init_stack
+  #endif
+***************
+*** 317,322 ****
+--- 320,328 ----
+  static int (*dll_rb_enc_find_index) (const char*);
+  static rb_encoding* (*dll_rb_enc_find) (const char*);
+  static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
++ static ID (*dll_rb_intern2) (const char*, long);
++ static void (*dll_Init_prelude) (void);
++ static VALUE (*dll_rb_const_remove) (VALUE, ID);
+  static VALUE (*dll_rb_sprintf) (const char*, ...);
+  static void (*ruby_init_stack)(VALUE*);
+  #endif
+***************
+*** 425,430 ****
+--- 431,439 ----
+      {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
+      {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
+      {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
++     {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
++     {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
++     {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
+      {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
+      {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
+  #endif
+***************
+*** 662,667 ****
+--- 671,682 ----
+  	    ruby_io_init();
+  #ifdef RUBY19_OR_LATER
+  	    rb_enc_find_index("encdb");
++ 
++ 	    /* This avoids the error "Encoding::ConverterNotFoundError: code
++ 	     * converter not found (UTF-16LE to ASCII-8BIT)". */
++ 	    rb_define_module("Gem");
++ 	    Init_prelude();
++ 	    rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
+  #endif
+  	    ruby_vim_init();
+  	    ruby_initialized = 1;
+***************
+*** 946,958 ****
+  
+  static VALUE get_buffer_line(buf_T *buf, linenr_T n)
+  {
+!     if (n > 0 && n <= buf->b_ml.ml_line_count)
+!     {
+! 	char *line = (char *)ml_get_buf(buf, n, FALSE);
+! 	return line ? vim_str2rb_enc_str(line) : Qnil;
+!     }
+!     rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
+!     return Qnil; /* For stop warning */
+  }
+  
+  static VALUE buffer_aref(VALUE self, VALUE num)
+--- 961,969 ----
+  
+  static VALUE get_buffer_line(buf_T *buf, linenr_T n)
+  {
+!     if (n <= 0 || n > buf->b_ml.ml_line_count)
+! 	rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
+!     return vim_str2rb_enc_str((char *)ml_get_buf(buf, n, FALSE));
+  }
+  
+  static VALUE buffer_aref(VALUE self, VALUE num)
+***************
+*** 991,999 ****
+      else
+      {
+  	rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
+- #ifndef __GNUC__
+- 	return Qnil; /* For stop warning */
+- #endif
+      }
+      return str;
+  }
+--- 1002,1007 ----
+***************
+*** 1048,1054 ****
+      long	n = NUM2LONG(num);
+      aco_save_T	aco;
+  
+!     if (line == NULL) {
+  	rb_raise(rb_eIndexError, "NULL line");
+      }
+      else if (n >= 0 && n <= buf->b_ml.ml_line_count)
+--- 1056,1063 ----
+      long	n = NUM2LONG(num);
+      aco_save_T	aco;
+  
+!     if (line == NULL)
+!     {
+  	rb_raise(rb_eIndexError, "NULL line");
+      }
+      else if (n >= 0 && n <= buf->b_ml.ml_line_count)
+***************
+*** 1072,1078 ****
+  
+  	update_curbuf(NOT_VALID);
+      }
+!     else {
+  	rb_raise(rb_eIndexError, "line number %ld out of range", n);
+      }
+      return str;
+--- 1081,1088 ----
+  
+  	update_curbuf(NOT_VALID);
+      }
+!     else
+!     {
+  	rb_raise(rb_eIndexError, "line number %ld out of range", n);
+      }
+      return str;
+*** ../vim-7.3.057/src/version.c	2010-11-16 14:05:48.000000000 +0100
+--- src/version.c	2010-11-16 14:44:42.000000000 +0100
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     58,
+  /**/
+
+-- 
+SIGIRO -- irony detected (iron core dumped)
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list