diff options
Diffstat (limited to 'data/vim/patches/8.1.0232')
-rw-r--r-- | data/vim/patches/8.1.0232 | 188 |
1 files changed, 0 insertions, 188 deletions
diff --git a/data/vim/patches/8.1.0232 b/data/vim/patches/8.1.0232 deleted file mode 100644 index b7ae0f036..000000000 --- a/data/vim/patches/8.1.0232 +++ /dev/null @@ -1,188 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0232 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 8.1.0232 -Problem: Ruby error does not include backtrace. -Solution: Add an error backtrace. (Masataka Pocke Kuwabara, closes #3267) -Files: src/if_ruby.c - - -*** ../vim-8.1.0231/src/if_ruby.c 2018-07-28 17:18:05.164865356 +0200 ---- src/if_ruby.c 2018-08-01 18:41:37.613550764 +0200 -*************** -*** 93,98 **** ---- 93,103 ---- - # define RUBY20_OR_LATER 1 - #endif - -+ #if (defined(RUBY_VERSION) && RUBY_VERSION >= 21) \ -+ || (defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 21) -+ # define RUBY21_OR_LATER 1 -+ #endif -+ - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - /* Ruby 1.9 defines a number of static functions which use rb_num2long and - * rb_int2big */ -*************** -*** 238,248 **** ---- 243,263 ---- - # define rb_eRuntimeError (*dll_rb_eRuntimeError) - # define rb_eStandardError (*dll_rb_eStandardError) - # define rb_eval_string_protect dll_rb_eval_string_protect -+ # ifdef RUBY21_OR_LATER -+ # define rb_funcallv dll_rb_funcallv -+ # else -+ # define rb_funcall2 dll_rb_funcall2 -+ # endif - # define rb_global_variable dll_rb_global_variable - # define rb_hash_aset dll_rb_hash_aset - # define rb_hash_new dll_rb_hash_new - # define rb_inspect dll_rb_inspect - # define rb_int2inum dll_rb_int2inum -+ # ifdef RUBY19_OR_LATER -+ # define rb_intern2 dll_rb_intern2 -+ # else -+ # define rb_intern dll_rb_intern -+ # endif - # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 18 - # define rb_fix2int dll_rb_fix2int -*************** -*** 367,377 **** ---- 382,402 ---- - static VALUE *dll_rb_eRuntimeError; - static VALUE *dll_rb_eStandardError; - static VALUE (*dll_rb_eval_string_protect) (const char*, int*); -+ # ifdef RUBY21_OR_LATER -+ static VALUE (*dll_rb_funcallv) (VALUE, ID, int, const VALUE*); -+ # else -+ static VALUE (*dll_rb_funcall2) (VALUE, ID, int, const VALUE*); -+ # endif - static void (*dll_rb_global_variable) (VALUE*); - static VALUE (*dll_rb_hash_aset) (VALUE, VALUE, VALUE); - static VALUE (*dll_rb_hash_new) (void); - static VALUE (*dll_rb_inspect) (VALUE); - static VALUE (*dll_rb_int2inum) (long); -+ # ifdef RUBY19_OR_LATER -+ static ID (*dll_rb_intern2) (const char*, long); -+ # else -+ static ID (*dll_rb_intern) (const char*); -+ # endif - # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - static long (*dll_rb_fix2int) (VALUE); - static long (*dll_rb_num2int) (VALUE); -*************** -*** 561,571 **** ---- 586,606 ---- - {"rb_eRuntimeError", (RUBY_PROC*)&dll_rb_eRuntimeError}, - {"rb_eStandardError", (RUBY_PROC*)&dll_rb_eStandardError}, - {"rb_eval_string_protect", (RUBY_PROC*)&dll_rb_eval_string_protect}, -+ # ifdef RUBY21_OR_LATER -+ {"rb_funcallv", (RUBY_PROC*)&dll_rb_funcallv}, -+ # else -+ {"rb_funcall2", (RUBY_PROC*)&dll_rb_funcall2}, -+ # endif - {"rb_global_variable", (RUBY_PROC*)&dll_rb_global_variable}, - {"rb_hash_aset", (RUBY_PROC*)&dll_rb_hash_aset}, - {"rb_hash_new", (RUBY_PROC*)&dll_rb_hash_new}, - {"rb_inspect", (RUBY_PROC*)&dll_rb_inspect}, - {"rb_int2inum", (RUBY_PROC*)&dll_rb_int2inum}, -+ # ifdef RUBY19_OR_LATER -+ {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2}, -+ # else -+ {"rb_intern", (RUBY_PROC*)&dll_rb_intern}, -+ # endif - # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - {"rb_fix2int", (RUBY_PROC*)&dll_rb_fix2int}, - {"rb_num2int", (RUBY_PROC*)&dll_rb_num2int}, -*************** -*** 926,934 **** ---- 961,973 ---- - RUBYEXTERN VALUE ruby_errinfo; - #endif - #endif -+ VALUE error; - VALUE eclass; - VALUE einfo; -+ VALUE bt; -+ int attr; - char buff[BUFSIZ]; -+ long i; - - #define TAG_RETURN 0x1 - #define TAG_BREAK 0x2 -*************** -*** 960,971 **** - case TAG_RAISE: - case TAG_FATAL: - #ifdef RUBY19_OR_LATER -! 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")); ---- 999,1010 ---- - case TAG_RAISE: - case TAG_FATAL: - #ifdef RUBY19_OR_LATER -! error = rb_errinfo(); - #else -! error = ruby_errinfo; - #endif -+ eclass = CLASS_OF(error); -+ einfo = rb_obj_as_string(error); - if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) - { - EMSG(_("E272: unhandled exception")); -*************** -*** 982,987 **** ---- 1021,1037 ---- - if (p) *p = '\0'; - EMSG(buff); - } -+ -+ attr = syn_name2attr((char_u *)"Error"); -+ # ifdef RUBY21_OR_LATER -+ bt = rb_funcallv(error, rb_intern("backtrace"), 0, 0); -+ for (i = 0; i < RARRAY_LEN(bt); i++) -+ msg_attr((char_u *)RSTRING_PTR(RARRAY_AREF(bt, i)), attr); -+ # else -+ bt = rb_funcall2(error, rb_intern("backtrace"), 0, 0); -+ for (i = 0; i < RARRAY_LEN(bt); i++) -+ msg_attr((char_u *)RSTRING_PTR(RARRAY_PTR(bt)[i]), attr); -+ # endif - break; - default: - vim_snprintf(buff, BUFSIZ, _("E273: unknown longjmp status %d"), state); -*** ../vim-8.1.0231/src/version.c 2018-08-01 18:02:57.493860532 +0200 ---- src/version.c 2018-08-01 18:39:43.442285284 +0200 -*************** -*** 796,797 **** ---- 796,799 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 232, - /**/ - --- -ARTHUR: Be quiet! -DENNIS: --but by a two-thirds majority in the case of more-- -ARTHUR: Be quiet! I order you to be quiet! -WOMAN: Order, eh -- who does he think he is? -ARTHUR: I am your king! - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@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 /// |