diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.361')
-rw-r--r-- | source/ap/vim/patches/7.2.361 | 763 |
1 files changed, 0 insertions, 763 deletions
diff --git a/source/ap/vim/patches/7.2.361 b/source/ap/vim/patches/7.2.361 deleted file mode 100644 index ddc58579..00000000 --- a/source/ap/vim/patches/7.2.361 +++ /dev/null @@ -1,763 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.361 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -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 - - -*** ../vim-7.2.360/src/Makefile 2010-02-17 15:12:22.000000000 +0100 ---- src/Makefile 2010-02-17 16:21:01.000000000 +0100 -*************** -*** 395,401 **** - - # RUBY - # Uncomment this when you want to include the Ruby interface. -! #CONF_OPT_RUBY = --enable-rubyinterp - - # MZSCHEME - # Uncomment this when you want to include the MzScheme interface. ---- 395,403 ---- - - # RUBY - # Uncomment this when you want to include the Ruby interface. -! # Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu). -! # CONF_OPT_RUBY = --enable-rubyinterp -! # CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1 - - # MZSCHEME - # Uncomment this when you want to include the MzScheme interface. -*** ../vim-7.2.360/src/auto/configure 2009-12-16 17:14:08.000000000 +0100 ---- src/auto/configure 2010-02-17 16:08:59.000000000 +0100 -*************** -*** 793,798 **** ---- 793,799 ---- - enable_tclinterp - with_tclsh - enable_rubyinterp -+ with_ruby_command - enable_cscope - enable_workshop - enable_netbeans -*************** -*** 1503,1508 **** ---- 1504,1510 ---- - --with-plthome=PLTHOME Use PLTHOME. - --with-python-config-dir=PATH Python's config directory - --with-tclsh=PATH which tclsh to use (default: tclsh8.0) -+ --with-ruby-command=RUBY name of the Ruby command (default: ruby) - --with-x use the X Window System - --with-gtk-prefix=PFX Prefix where GTK is installed (optional) - --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional) -*************** -*** 5703,5711 **** - { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5 - $as_echo "$enable_rubyinterp" >&6; } - if test "$enable_rubyinterp" = "yes"; then - -! # Extract the first word of "ruby", so it can be a program name with args. -! set dummy ruby; ac_word=$2 - { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } - if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then ---- 5705,5725 ---- - { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5 - $as_echo "$enable_rubyinterp" >&6; } - if test "$enable_rubyinterp" = "yes"; then -+ { $as_echo "$as_me:$LINENO: checking --with-ruby-command argument" >&5 -+ $as_echo_n "checking --with-ruby-command argument... " >&6; } - -! # Check whether --with-ruby-command was given. -! if test "${with_ruby_command+set}" = set; then -! withval=$with_ruby_command; RUBY_CMD="$withval"; { $as_echo "$as_me:$LINENO: result: $RUBY_CMD" >&5 -! $as_echo "$RUBY_CMD" >&6; } -! else -! RUBY_CMD="ruby"; { $as_echo "$as_me:$LINENO: result: defaulting to $RUBY_CMD" >&5 -! $as_echo "defaulting to $RUBY_CMD" >&6; } -! fi -! -! -! # Extract the first word of "$RUBY_CMD", so it can be a program name with args. -! set dummy $RUBY_CMD; ac_word=$2 - { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } - if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then -*************** -*** 5752,5762 **** - $as_echo "OK" >&6; } - { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5 - $as_echo_n "checking Ruby header files... " >&6; } -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5 - $as_echo "$rubyhdrdir" >&6; } - RUBY_CFLAGS="-I$rubyhdrdir" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" ---- 5766,5782 ---- - $as_echo "OK" >&6; } - { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5 - $as_echo_n "checking Ruby header files... " >&6; } -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["rubyhdrdir"] || Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5 - $as_echo "$rubyhdrdir" >&6; } - RUBY_CFLAGS="-I$rubyhdrdir" -+ rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["arch"]'` -+ if test -d "$rubyhdrdir/$rubyarch"; then -+ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" -+ fi -+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"].gsub(/\./, "")[0,2]'` -+ RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" -*************** -*** 5793,5800 **** - _ACEOF - - else -! { $as_echo "$as_me:$LINENO: result: not found" >&5 -! $as_echo "not found" >&6; } - fi - else - { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5 ---- 5813,5820 ---- - _ACEOF - - else -! { $as_echo "$as_me:$LINENO: result: not found; disabling Ruby" >&5 -! $as_echo "not found; disabling Ruby" >&6; } - fi - else - { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5 -*** ../vim-7.2.360/src/configure.in 2009-12-16 17:14:08.000000000 +0100 ---- src/configure.in 2010-02-17 16:00:58.000000000 +0100 -*************** -*** 949,965 **** - [enable_rubyinterp="no"]) - AC_MSG_RESULT($enable_rubyinterp) - if test "$enable_rubyinterp" = "yes"; then - AC_SUBST(vi_cv_path_ruby) -! AC_PATH_PROG(vi_cv_path_ruby, ruby) - if test "X$vi_cv_path_ruby" != "X"; then - AC_MSG_CHECKING(Ruby version) - if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then - AC_MSG_RESULT(OK) - AC_MSG_CHECKING(Ruby header files) -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - AC_MSG_RESULT($rubyhdrdir) - RUBY_CFLAGS="-I$rubyhdrdir" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" ---- 949,975 ---- - [enable_rubyinterp="no"]) - AC_MSG_RESULT($enable_rubyinterp) - if test "$enable_rubyinterp" = "yes"; then -+ AC_MSG_CHECKING(--with-ruby-command argument) -+ AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)], -+ RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD), -+ RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD)) - AC_SUBST(vi_cv_path_ruby) -! AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD) - if test "X$vi_cv_path_ruby" != "X"; then - AC_MSG_CHECKING(Ruby version) - if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then - AC_MSG_RESULT(OK) - AC_MSG_CHECKING(Ruby header files) -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["rubyhdrdir"]] || Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - AC_MSG_RESULT($rubyhdrdir) - RUBY_CFLAGS="-I$rubyhdrdir" -+ rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["arch"]]'` -+ if test -d "$rubyhdrdir/$rubyarch"; then -+ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" -+ fi -+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["ruby_version"]].gsub(/\./, "")[[0,2]]'` -+ RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" -*************** -*** 997,1003 **** - RUBY_PRO="if_ruby.pro" - AC_DEFINE(FEAT_RUBY) - else -! AC_MSG_RESULT(not found, disabling Ruby) - fi - else - AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) ---- 1007,1013 ---- - RUBY_PRO="if_ruby.pro" - AC_DEFINE(FEAT_RUBY) - else -! AC_MSG_RESULT(not found; disabling Ruby) - fi - else - AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) -*** ../vim-7.2.360/src/if_ruby.c 2010-02-17 15:11:35.000000000 +0100 ---- src/if_ruby.c 2010-02-17 16:08:47.000000000 +0100 -*************** -*** 54,59 **** ---- 54,62 ---- - #endif - - #include <ruby.h> -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ # include <ruby/encoding.h> -+ #endif - - #undef EXTERN - #undef _ -*************** -*** 65,70 **** ---- 68,95 ---- - # define __OPENTRANSPORTPROVIDERS__ - #endif - -+ /* -+ * Backward compatiblity for Ruby 1.8 and earlier. -+ * Ruby 1.9 does not provide STR2CSTR, instead StringValuePtr is provided. -+ * Ruby 1.9 does not provide RXXX(s)->len and RXXX(s)->ptr, instead -+ * RXXX_LEN(s) and RXXX_PTR(s) are provided. -+ */ -+ #ifndef StringValuePtr -+ # define StringValuePtr(s) STR2CSTR(s) -+ #endif -+ #ifndef RARRAY_LEN -+ # define RARRAY_LEN(s) RARRAY(s)->len -+ #endif -+ #ifndef RARRAY_PTR -+ # define RARRAY_PTR(s) RARRAY(s)->ptr -+ #endif -+ #ifndef RSTRING_LEN -+ # define RSTRING_LEN(s) RSTRING(s)->len -+ #endif -+ #ifndef RSTRING_PTR -+ # define RSTRING_PTR(s) RSTRING(s)->ptr -+ #endif -+ - #include "vim.h" - #include "version.h" - -*************** -*** 134,140 **** - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new - #define rb_str_new2 dll_rb_str_new2 -! #define ruby_errinfo (*dll_ruby_errinfo) - #define ruby_init dll_ruby_init - #define ruby_init_loadpath dll_ruby_init_loadpath - #define NtInitialize dll_NtInitialize ---- 159,169 ---- - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new - #define rb_str_new2 dll_rb_str_new2 -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -! # define rb_errinfo dll_rb_errinfo -! #else -! # define ruby_errinfo (*dll_ruby_errinfo) -! #endif - #define ruby_init dll_ruby_init - #define ruby_init_loadpath dll_ruby_init_loadpath - #define NtInitialize dll_NtInitialize -*************** -*** 142,147 **** ---- 171,184 ---- - # define rb_w32_snprintf dll_rb_w32_snprintf - #endif - -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ # define ruby_script dll_ruby_script -+ # 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_sprintf dll_rb_sprintf -+ #endif -+ - /* - * Pointers for dynamic link - */ -*************** -*** 189,195 **** ---- 226,236 ---- - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); - static VALUE (*dll_rb_str_new2) (const char*); -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ static VALUE (*dll_rb_errinfo) (void); -+ #else - static VALUE *dll_ruby_errinfo; -+ #endif - static void (*dll_ruby_init) (void); - static void (*dll_ruby_init_loadpath) (void); - static void (*dll_NtInitialize) (int*, char***); -*************** -*** 197,202 **** ---- 238,251 ---- - static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); - #endif - -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ static void (*dll_ruby_script) (const char*); -+ 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 VALUE (*dll_rb_sprintf) (const char*, ...); -+ #endif -+ - static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */ - - /* -*************** -*** 252,264 **** ---- 301,324 ---- - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, - {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, -+ #else - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, -+ #endif - {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, - {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, - {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, - #endif -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, -+ {"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_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, -+ #endif - {"", NULL}, - }; - -*************** -*** 348,353 **** ---- 408,465 ---- - vim_free(script); - } - -+ /* -+ * In Ruby 1.9 or later, ruby String object has encoding. -+ * conversion buffer string of vim to ruby String object using -+ * VIM encoding option. -+ */ -+ static VALUE -+ vim_str2rb_enc_str(const char *s) -+ { -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ int isnum; -+ long lval; -+ char_u *sval; -+ rb_encoding *enc; -+ -+ isnum = get_option_value((char_u *)"enc", &lval, &sval, 0); -+ if (isnum == 0) -+ { -+ enc = rb_enc_find((char *)sval); -+ vim_free(sval); -+ if (enc) { -+ return rb_enc_str_new(s, strlen(s), enc); -+ } -+ } -+ #endif -+ return rb_str_new2(s); -+ } -+ -+ static VALUE -+ eval_enc_string_protect(const char *str, int *state) -+ { -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ int isnum; -+ long lval; -+ char_u *sval; -+ rb_encoding *enc; -+ VALUE v; -+ -+ isnum = get_option_value((char_u *)"enc", &lval, &sval, 0); -+ if (isnum == 0) -+ { -+ enc = rb_enc_find((char *)sval); -+ vim_free(sval); -+ if (enc) -+ { -+ v = rb_sprintf("#-*- coding:%s -*-\n%s", rb_enc_name(enc), str); -+ return rb_eval_string_protect(StringValuePtr(v), state); -+ } -+ } -+ #endif -+ return rb_eval_string_protect(str, state); -+ } -+ - void ex_rubydo(exarg_T *eap) - { - int state; -*************** -*** 360,368 **** - for (i = eap->line1; i <= eap->line2; i++) { - VALUE line, oldline; - -! line = oldline = rb_str_new2((char *)ml_get(i)); - rb_lastline_set(line); -! rb_eval_string_protect((char *) eap->arg, &state); - if (state) { - error_print(state); - break; ---- 472,480 ---- - for (i = eap->line1; i <= eap->line2; i++) { - VALUE line, oldline; - -! line = oldline = vim_str2rb_enc_str((char *)ml_get(i)); - rb_lastline_set(line); -! eval_enc_string_protect((char *) eap->arg, &state); - if (state) { - error_print(state); - break; -*************** -*** 373,379 **** - EMSG(_("E265: $_ must be an instance of String")); - return; - } -! ml_replace(i, (char_u *) STR2CSTR(line), 1); - changed(); - #ifdef SYNTAX_HL - syn_changed(i); /* recompute syntax hl. for this line */ ---- 485,491 ---- - EMSG(_("E265: $_ must be an instance of String")); - return; - } -! ml_replace(i, (char_u *) StringValuePtr(line), 1); - changed(); - #ifdef SYNTAX_HL - syn_changed(i); /* recompute syntax hl. for this line */ -*************** -*** 428,436 **** ---- 540,557 ---- - char *argv[] = {"gvim.exe"}; - NtInitialize(&argc, &argv); - #endif -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ RUBY_INIT_STACK; -+ #endif - ruby_init(); -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ ruby_script("vim-ruby"); -+ #endif - ruby_init_loadpath(); - ruby_io_init(); -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ rb_enc_find_index("encdb"); -+ #endif - ruby_vim_init(); - ruby_initialized = 1; - #ifdef DYNAMIC_RUBY -*************** -*** 448,455 **** ---- 569,578 ---- - static void error_print(int state) - { - #ifndef DYNAMIC_RUBY -+ #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) - RUBYEXTERN VALUE ruby_errinfo; - #endif -+ #endif - VALUE eclass; - VALUE einfo; - char buff[BUFSIZ]; -*************** -*** 482,490 **** - break; - case TAG_RAISE: - case TAG_FATAL: - eclass = CLASS_OF(ruby_errinfo); - einfo = rb_obj_as_string(ruby_errinfo); -! if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) { - EMSG(_("E272: unhandled exception")); - } - else { ---- 605,618 ---- - break; - case TAG_RAISE: - case TAG_FATAL: -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ eclass = CLASS_OF(rb_errinfo()); -+ einfo = rb_obj_as_string(rb_errinfo()); -+ #else - eclass = CLASS_OF(ruby_errinfo); - einfo = rb_obj_as_string(ruby_errinfo); -! #endif -! if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) { - EMSG(_("E272: unhandled exception")); - } - else { -*************** -*** 493,499 **** - - epath = rb_class_path(eclass); - vim_snprintf(buff, BUFSIZ, "%s: %s", -! RSTRING(epath)->ptr, RSTRING(einfo)->ptr); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - EMSG(buff); ---- 621,627 ---- - - epath = rb_class_path(eclass); - vim_snprintf(buff, BUFSIZ, "%s: %s", -! RSTRING_PTR(epath), RSTRING_PTR(einfo)); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - EMSG(buff); -*************** -*** 511,518 **** - char *buff, *p; - - str = rb_obj_as_string(str); -! buff = ALLOCA_N(char, RSTRING(str)->len); -! strcpy(buff, RSTRING(str)->ptr); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - MSG(buff); ---- 639,646 ---- - char *buff, *p; - - str = rb_obj_as_string(str); -! buff = ALLOCA_N(char, RSTRING_LEN(str)); -! strcpy(buff, RSTRING_PTR(str)); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - MSG(buff); -*************** -*** 521,541 **** - - static VALUE vim_set_option(VALUE self UNUSED, VALUE str) - { -! do_set((char_u *)STR2CSTR(str), 0); - update_screen(NOT_VALID); - return Qnil; - } - - static VALUE vim_command(VALUE self UNUSED, VALUE str) - { -! do_cmdline_cmd((char_u *)STR2CSTR(str)); - return Qnil; - } - - static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL -! char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE); - - if (value != NULL) - { ---- 649,669 ---- - - static VALUE vim_set_option(VALUE self UNUSED, VALUE str) - { -! do_set((char_u *)StringValuePtr(str), 0); - update_screen(NOT_VALID); - return Qnil; - } - - static VALUE vim_command(VALUE self UNUSED, VALUE str) - { -! do_cmdline_cmd((char_u *)StringValuePtr(str)); - return Qnil; - } - - static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL -! char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE); - - if (value != NULL) - { -*************** -*** 640,648 **** - if (n > 0 && n <= buf->b_ml.ml_line_count) - { - char *line = (char *)ml_get_buf(buf, n, FALSE); -! return line ? rb_str_new2(line) : Qnil; - } -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif ---- 768,776 ---- - 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); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif -*************** -*** 659,665 **** - - static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str) - { -! char *line = STR2CSTR(str); - aco_save_T aco; - - if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) ---- 787,793 ---- - - static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str) - { -! char *line = StringValuePtr(str); - aco_save_T aco; - - if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) -*************** -*** 683,689 **** - } - else - { -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif ---- 811,817 ---- - } - else - { -! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif -*************** -*** 729,735 **** - } - else - { -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - } - return Qnil; - } ---- 857,863 ---- - } - else - { -! rb_raise(rb_eIndexError, "line number %ld out of range", n); - } - return Qnil; - } -*************** -*** 737,747 **** - static VALUE buffer_append(VALUE self, VALUE num, VALUE str) - { - buf_T *buf = get_buf(self); -! char *line = STR2CSTR(str); - long n = NUM2LONG(num); - aco_save_T aco; - -! if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL) - { - /* set curwin/curbuf for "buf" and save some things */ - aucmd_prepbuf(&aco, buf); ---- 865,878 ---- - static VALUE buffer_append(VALUE self, VALUE num, VALUE str) - { - buf_T *buf = get_buf(self); -! char *line = StringValuePtr(str); - 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) - { - /* set curwin/curbuf for "buf" and save some things */ - aucmd_prepbuf(&aco, buf); -*************** -*** 763,769 **** - update_curbuf(NOT_VALID); - } - else { -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - } - return str; - } ---- 894,900 ---- - update_curbuf(NOT_VALID); - } - else { -! rb_raise(rb_eIndexError, "line number %ld out of range", n); - } - return str; - } -*************** -*** 904,913 **** - win_T *win = get_win(self); - - Check_Type(pos, T_ARRAY); -! if (RARRAY(pos)->len != 2) - rb_raise(rb_eArgError, "array length must be 2"); -! lnum = RARRAY(pos)->ptr[0]; -! col = RARRAY(pos)->ptr[1]; - win->w_cursor.lnum = NUM2LONG(lnum); - win->w_cursor.col = NUM2UINT(col); - check_cursor(); /* put cursor on an existing line */ ---- 1035,1044 ---- - win_T *win = get_win(self); - - Check_Type(pos, T_ARRAY); -! if (RARRAY_LEN(pos) != 2) - rb_raise(rb_eArgError, "array length must be 2"); -! lnum = RARRAY_PTR(pos)[0]; -! col = RARRAY_PTR(pos)[1]; - win->w_cursor.lnum = NUM2LONG(lnum); - win->w_cursor.col = NUM2UINT(col); - check_cursor(); /* put cursor on an existing line */ -*************** -*** 924,930 **** - if (i > 0) rb_str_cat(str, ", ", 2); - rb_str_concat(str, rb_inspect(argv[i])); - } -! MSG(RSTRING(str)->ptr); - return Qnil; - } - ---- 1055,1061 ---- - if (i > 0) rb_str_cat(str, ", ", 2); - rb_str_concat(str, rb_inspect(argv[i])); - } -! MSG(RSTRING_PTR(str)); - return Qnil; - } - -*** ../vim-7.2.360/src/version.c 2010-02-17 15:11:35.000000000 +0100 ---- src/version.c 2010-02-17 15:59:12.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 361, - /**/ - --- -"Marriage is when a man and woman become as one; the trouble starts -when they try to decide which one" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |