From 957aa75d05c00731d7112bed7b68ce4568667d0c Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Thu, 13 Dec 2018 15:11:52 -1000 Subject: Update vim --- data/vim/patches/8.1.0269 | 127 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 data/vim/patches/8.1.0269 (limited to 'data/vim/patches/8.1.0269') diff --git a/data/vim/patches/8.1.0269 b/data/vim/patches/8.1.0269 new file mode 100644 index 000000000..d516f7c30 --- /dev/null +++ b/data/vim/patches/8.1.0269 @@ -0,0 +1,127 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0269 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0269 +Problem: Ruby Kernel.#p method always returns nil. +Solution: Copy p method implementation from Ruby code. (Masataka Pocke + Kuwabara, closes #3315) +Files: src/if_ruby.c, src/testdir/test_ruby.vim + + +*** ../vim-8.1.0268/src/if_ruby.c 2018-08-04 17:24:39.062825210 +0200 +--- src/if_ruby.c 2018-08-11 14:23:48.613860602 +0200 +*************** +*** 299,304 **** +--- 299,309 ---- + # define rb_string_value_ptr dll_rb_string_value_ptr + # define rb_float_new dll_rb_float_new + # define rb_ary_new dll_rb_ary_new ++ # ifdef rb_ary_new4 ++ # define RB_ARY_NEW4_MACRO 1 ++ # undef rb_ary_new4 ++ # endif ++ # define rb_ary_new4 dll_rb_ary_new4 + # define rb_ary_push dll_rb_ary_push + # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) + # ifdef __ia64 +*************** +*** 441,446 **** +--- 446,452 ---- + static char * (*dll_rb_string_value_ptr) (volatile VALUE*); + static VALUE (*dll_rb_float_new) (double); + static VALUE (*dll_rb_ary_new) (void); ++ static VALUE (*dll_rb_ary_new4) (long n, const VALUE *elts); + static VALUE (*dll_rb_ary_push) (VALUE, VALUE); + # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) + # ifdef __ia64 +*************** +*** 647,652 **** +--- 653,663 ---- + {"rb_float_new_in_heap", (RUBY_PROC*)&dll_rb_float_new}, + # endif + {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, ++ # ifdef RB_ARY_NEW4_MACRO ++ {"rb_ary_new_from_values", (RUBY_PROC*)&dll_rb_ary_new4}, ++ # else ++ {"rb_ary_new4", (RUBY_PROC*)&dll_rb_ary_new4}, ++ # endif + {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, + # endif + # ifdef RUBY19_OR_LATER +*************** +*** 1577,1582 **** +--- 1588,1594 ---- + { + int i; + VALUE str = rb_str_new("", 0); ++ VALUE ret = Qnil; + + for (i = 0; i < argc; i++) + { +*************** +*** 1584,1590 **** + rb_str_concat(str, rb_inspect(argv[i])); + } + MSG(RSTRING_PTR(str)); +! return Qnil; + } + + static void ruby_io_init(void) +--- 1596,1607 ---- + rb_str_concat(str, rb_inspect(argv[i])); + } + MSG(RSTRING_PTR(str)); +! +! if (argc == 1) +! ret = argv[0]; +! else if (argc > 1) +! ret = rb_ary_new4(argc, argv); +! return ret; + } + + static void ruby_io_init(void) +*** ../vim-8.1.0268/src/testdir/test_ruby.vim 2018-07-28 17:29:15.757096343 +0200 +--- src/testdir/test_ruby.vim 2018-08-11 14:17:07.396211894 +0200 +*************** +*** 363,366 **** +--- 363,379 ---- + ruby p 'Just a test' + let messages = split(execute('message'), "\n") + call assert_equal('"Just a test"', messages[-1]) ++ ++ " Check return values of p method ++ ++ call assert_equal('123', RubyEval('p(123)')) ++ call assert_equal('[1, 2, 3]', RubyEval('p(1, 2, 3)')) ++ ++ " Avoid the "message maintainer" line. ++ let $LANG = '' ++ messages clear ++ call assert_equal('true', RubyEval('p() == nil')) ++ ++ let messages = split(execute('message'), "\n") ++ call assert_equal(0, len(messages)) + endfunc +*** ../vim-8.1.0268/src/version.c 2018-08-11 13:57:16.215969777 +0200 +--- src/version.c 2018-08-11 14:22:56.922175770 +0200 +*************** +*** 796,797 **** +--- 796,799 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 269, + /**/ + +-- +SIGFUN -- signature too funny (core dumped) + + /// 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 /// -- cgit v1.2.3