diff options
Diffstat (limited to 'data/vim/patches/8.1.0221')
-rw-r--r-- | data/vim/patches/8.1.0221 | 463 |
1 files changed, 0 insertions, 463 deletions
diff --git a/data/vim/patches/8.1.0221 b/data/vim/patches/8.1.0221 deleted file mode 100644 index cef2ca8ce..000000000 --- a/data/vim/patches/8.1.0221 +++ /dev/null @@ -1,463 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0221 -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.0221 -Problem: Not enough testing for the Ruby interface. -Solution: Add more tests. (Dominique Pelle, closes #3252) -Files: runtime/doc/if_ruby.txt, src/testdir/test_ruby.vim - - -*** ../vim-8.1.0220/runtime/doc/if_ruby.txt 2018-05-17 13:41:41.000000000 +0200 ---- runtime/doc/if_ruby.txt 2018-07-28 17:20:52.903932857 +0200 -*************** -*** 145,151 **** - - Methods: - -! name Returns the name of the buffer. - number Returns the number of the buffer. - count Returns the number of lines. - length Returns the number of lines. ---- 145,151 ---- - - Methods: - -! name Returns the full name of the buffer. - number Returns the number of the buffer. - count Returns the number of lines. - length Returns the number of lines. -*************** -*** 181,186 **** ---- 181,187 ---- - width Returns the width of the window. - width = {n} Sets the window width to {n}. - cursor Returns a [row, col] array for the cursor position. -+ First line number is 1 and first column number is 0. - cursor = [{row}, {col}] - Sets the cursor position to {row} and {col}. - -*** ../vim-8.1.0220/src/testdir/test_ruby.vim 2018-07-28 17:18:05.164865356 +0200 ---- src/testdir/test_ruby.vim 2018-07-28 17:27:53.037565797 +0200 -*************** -*** 4,9 **** ---- 4,16 ---- - finish - end - -+ " Helper function as there is no builtin rubyeval() function similar -+ " to perleval, luaevel() or pyeval(). -+ func RubyEval(ruby_expr) -+ let s = split(execute('ruby print ' . a:ruby_expr), "\n") -+ return (len(s) == 0) ? '' : s[-1] -+ endfunc -+ - func Test_ruby_change_buffer() - call setline(line('$'), ['1 line 1']) - ruby Vim.command("normal /^1\n") -*************** -*** 11,46 **** - call assert_equal('1 changed line 1', getline('$')) - endfunc - -- func Test_ruby_evaluate_list() -- call setline(line('$'), ['2 line 2']) -- ruby Vim.command("normal /^2\n") -- let l = ["abc", "def"] -- ruby << EOF -- curline = $curbuf.line_number -- l = Vim.evaluate("l"); -- $curbuf.append(curline, l.join("\n")) -- EOF -- normal j -- .rubydo $_ = $_.gsub(/\n/, '/') -- call assert_equal('abc/def', getline('$')) -- endfunc -- -- func Test_ruby_evaluate_dict() -- let d = {'a': 'foo', 'b': 123} -- redir => l:out -- ruby d = Vim.evaluate("d"); print d -- redir END -- call assert_equal(['{"a"=>"foo", "b"=>123}'], split(l:out, "\n")) -- endfunc -- -- func Test_ruby_evaluate_special_var() -- let l = [v:true, v:false, v:null, v:none] -- redir => l:out -- ruby d = Vim.evaluate("l"); print d -- redir END -- call assert_equal(['[true, false, nil, nil]'], split(l:out, "\n")) -- endfunc -- - func Test_rubydo() - " Check deleting lines does not trigger ml_get error. - new ---- 18,23 ---- -*************** -*** 54,61 **** - call setline(1, ['one', 'two', 'three']) - rubydo Vim.command("new") - call assert_equal(wincount + 1, winnr('$')) -! bwipe! -! bwipe! - endfunc - - func Test_rubyfile() ---- 31,37 ---- - call setline(1, ['one', 'two', 'three']) - rubydo Vim.command("new") - call assert_equal(wincount + 1, winnr('$')) -! %bwipe! - endfunc - - func Test_rubyfile() -*************** -*** 73,80 **** ---- 49,366 ---- - normal gg - rubydo $curwin.cursor = [1, 5] - call assert_equal([1, 6], [line('.'), col('.')]) -+ call assert_equal('[1, 5]', RubyEval('$curwin.cursor')) - - " Check that movement after setting cursor position keeps current column. - normal j - call assert_equal([2, 6], [line('.'), col('.')]) -+ call assert_equal('[2, 5]', RubyEval('$curwin.cursor')) -+ -+ call assert_fails('ruby $curwin.cursor = [1]', -+ \ 'ArgumentError: array length must be 2') -+ bwipe! -+ endfunc -+ -+ " Test buffer.count and buffer.length (number of lines in buffer) -+ func Test_buffer_count() -+ new -+ call setline(1, ['one', 'two', 'three']) -+ call assert_equal('3', RubyEval('$curbuf.count')) -+ call assert_equal('3', RubyEval('$curbuf.length')) -+ bwipe! -+ endfunc -+ -+ " Test buffer.name (buffer name) -+ func Test_buffer_name() -+ new Xfoo -+ call assert_equal(expand('%:p'), RubyEval('$curbuf.name')) -+ bwipe -+ call assert_equal('', RubyEval('$curbuf.name')) -+ endfunc -+ -+ " Test buffer.number (number of the buffer). -+ func Test_buffer_number() -+ new -+ call assert_equal(string(bufnr('%')), RubyEval('$curbuf.number')) -+ new -+ call assert_equal(string(bufnr('%')), RubyEval('$curbuf.number')) -+ -+ %bwipe -+ endfunc -+ -+ " Test buffer.delete({n}) (delete line {n}) -+ func Test_buffer_delete() -+ new -+ call setline(1, ['one', 'two', 'three']) -+ ruby $curbuf.delete(2) -+ call assert_equal(['one', 'three'], getline(1, '$')) -+ -+ call assert_fails('ruby $curbuf.delete(0)', 'IndexError: line number 0 out of range') -+ call assert_fails('ruby $curbuf.delete(3)', 'IndexError: line number 3 out of range') -+ -+ bwipe! -+ endfunc -+ -+ " Test buffer.append({str}, str) (append line {str} after line {n}) -+ func Test_buffer_append() -+ new -+ ruby $curbuf.append(0, 'one') -+ ruby $curbuf.append(1, 'three') -+ ruby $curbuf.append(1, 'two') -+ ruby $curbuf.append(4, 'four') -+ -+ call assert_equal(['one', 'two', 'three', '', 'four'], getline(1, '$')) -+ -+ call assert_fails('ruby $curbuf.append(-1, "x")', -+ \ 'IndexError: line number -1 out of range') -+ call assert_fails('ruby $curbuf.append(6, "x")', -+ \ 'IndexError: line number 6 out of range') -+ -+ bwipe! -+ endfunc -+ -+ " Test buffer.line (get or set the current line) -+ func Test_buffer_line() -+ new -+ call setline(1, ['one', 'two', 'three']) -+ 2 -+ call assert_equal('two', RubyEval('$curbuf.line')) -+ -+ ruby $curbuf.line = 'TWO' -+ call assert_equal(['one', 'TWO', 'three'], getline(1, '$')) -+ -+ bwipe! -+ endfunc -+ -+ " Test buffer.line_number (get current line number) -+ func Test_buffer_line_number() -+ new -+ call setline(1, ['one', 'two', 'three']) -+ 2 -+ call assert_equal('2', RubyEval('$curbuf.line_number')) -+ -+ bwipe! -+ endfunc -+ -+ func Test_buffer_get() -+ new -+ call setline(1, ['one', 'two']) -+ call assert_equal('one', RubyEval('$curbuf[1]')) -+ call assert_equal('two', RubyEval('$curbuf[2]')) -+ -+ call assert_fails('ruby $curbuf[0]', -+ \ 'IndexError: line number 0 out of range') -+ call assert_fails('ruby $curbuf[3]', -+ \ 'IndexError: line number 3 out of range') -+ -+ bwipe! -+ endfunc -+ -+ func Test_buffer_set() -+ new -+ call setline(1, ['one', 'two']) -+ ruby $curbuf[2] = 'TWO' -+ ruby $curbuf[1] = 'ONE' -+ -+ call assert_fails('ruby $curbuf[0] = "ZERO"', -+ \ 'IndexError: line number 0 out of range') -+ call assert_fails('ruby $curbuf[3] = "THREE"', -+ \ 'IndexError: line number 3 out of range') -+ bwipe! -+ endfunc -+ -+ " Test window.width (get or set window height). -+ func Test_window_height() -+ new -+ -+ " Test setting window height -+ ruby $curwin.height = 2 -+ call assert_equal(2, winheight(0)) -+ -+ " Test getting window height -+ call assert_equal('2', RubyEval('$curwin.height')) -+ -+ bwipe -+ endfunc -+ -+ " Test window.width (get or set window width). -+ func Test_window_width() -+ vnew -+ -+ " Test setting window width -+ ruby $curwin.width = 2 -+ call assert_equal(2, winwidth(0)) -+ -+ " Test getting window width -+ call assert_equal('2', RubyEval('$curwin.width')) -+ -+ bwipe -+ endfunc -+ -+ " Test window.buffer (get buffer object of a window object). -+ func Test_window_buffer() -+ new Xfoo1 -+ new Xfoo2 -+ ruby $b2 = $curwin.buffer -+ ruby $w2 = $curwin -+ wincmd j -+ ruby $b1 = $curwin.buffer -+ ruby $w1 = $curwin -+ -+ call assert_equal(RubyEval('$b1'), RubyEval('$w1.buffer')) -+ call assert_equal(RubyEval('$b2'), RubyEval('$w2.buffer')) -+ call assert_equal(string(bufnr('Xfoo1')), RubyEval('$w1.buffer.number')) -+ call assert_equal(string(bufnr('Xfoo2')), RubyEval('$w2.buffer.number')) -+ -+ ruby $b1, $w1, $b2, $w2 = nil -+ %bwipe -+ endfunc -+ -+ " Test Vim::Window.current (get current window object) -+ func Test_Vim_window_current() -+ let cw = RubyEval('$curwin') -+ call assert_equal(cw, RubyEval('Vim::Window.current')) -+ call assert_match('^#<Vim::Window:0x\x\+>$', cw) -+ endfunc -+ -+ " Test Vim::Window.count (number of windows) -+ func Test_Vim_window_count() -+ new Xfoo1 -+ new Xfoo2 -+ split -+ call assert_equal('4', RubyEval('Vim::Window.count')) -+ %bwipe -+ call assert_equal('1', RubyEval('Vim::Window.count')) -+ endfunc -+ -+ " Test Vim::Window[n] (get window object of window n) -+ func Test_Vim_window_get() -+ new Xfoo1 -+ new Xfoo2 -+ call assert_match('Xfoo2$', RubyEval('Vim::Window[0].buffer.name')) -+ wincmd j -+ call assert_match('Xfoo1$', RubyEval('Vim::Window[1].buffer.name')) -+ wincmd j -+ call assert_equal('', RubyEval('Vim::Window[2].buffer.name')) -+ %bwipe -+ endfunc -+ -+ " Test Vim::Buffer.current (return the buffer object of current buffer) -+ func Test_Vim_buffer_current() -+ let cb = RubyEval('$curbuf') -+ call assert_equal(cb, RubyEval('Vim::Buffer.current')) -+ call assert_match('^#<Vim::Buffer:0x\x\+>$', cb) -+ endfunc -+ -+ " Test Vim::Buffer:.count (return the number of buffers) -+ func Test_Vim_buffer_count() -+ new Xfoo1 -+ new Xfoo2 -+ call assert_equal('3', RubyEval('Vim::Buffer.count')) -+ %bwipe -+ call assert_equal('1', RubyEval('Vim::Buffer.count')) -+ endfunc -+ -+ " Test Vim::buffer[n] (return the buffer object of buffer number n) -+ func Test_Vim_buffer_get() -+ new Xfoo1 -+ new Xfoo2 -+ -+ " Index of Vim::Buffer[n] goes from 0 to the number of buffers. -+ call assert_equal('', RubyEval('Vim::Buffer[0].name')) -+ call assert_match('Xfoo1$', RubyEval('Vim::Buffer[1].name')) -+ call assert_match('Xfoo2$', RubyEval('Vim::Buffer[2].name')) -+ call assert_fails('ruby print Vim::Buffer[3].name', -+ \ "NoMethodError: undefined method `name' for nil:NilClass") -+ %bwipe -+ endfunc -+ -+ " Test Vim::command({cmd}) (execute a Ex command)) -+ " Test Vim::command({cmd}) -+ func Test_Vim_command() -+ new -+ call setline(1, ['one', 'two', 'three', 'four']) -+ ruby Vim::command('2,3d') -+ call assert_equal(['one', 'four'], getline(1, '$')) -+ bwipe! -+ endfunc -+ -+ " Test Vim::set_option (set a vim option) -+ func Test_Vim_set_option() -+ call assert_equal(0, &number) -+ ruby Vim::set_option('number') -+ call assert_equal(1, &number) -+ ruby Vim::set_option('nonumber') -+ call assert_equal(0, &number) -+ endfunc -+ -+ func Test_Vim_evaluate() -+ call assert_equal('123', RubyEval('Vim::evaluate("123")')) -+ " Vim::evaluate("123").class gives Integer or Fixnum depending -+ " on versions of Ruby. -+ call assert_match('^Integer\|Fixnum$', RubyEval('Vim::evaluate("123").class')) -+ -+ call assert_equal('1.23', RubyEval('Vim::evaluate("1.23")')) -+ call assert_equal('Float', RubyEval('Vim::evaluate("1.23").class')) -+ -+ call assert_equal('foo', RubyEval('Vim::evaluate("\"foo\"")')) -+ call assert_equal('String', RubyEval('Vim::evaluate("\"foo\"").class')) -+ -+ call assert_equal('[1, 2]', RubyEval('Vim::evaluate("[1, 2]")')) -+ call assert_equal('Array', RubyEval('Vim::evaluate("[1, 2]").class')) -+ -+ call assert_equal('{"1"=>2}', RubyEval('Vim::evaluate("{1:2}")')) -+ call assert_equal('Hash', RubyEval('Vim::evaluate("{1:2}").class')) -+ -+ call assert_equal('', RubyEval('Vim::evaluate("v:null")')) -+ call assert_equal('NilClass', RubyEval('Vim::evaluate("v:null").class')) -+ -+ call assert_equal('', RubyEval('Vim::evaluate("v:none")')) -+ call assert_equal('NilClass', RubyEval('Vim::evaluate("v:none").class')) -+ -+ call assert_equal('true', RubyEval('Vim::evaluate("v:true")')) -+ call assert_equal('TrueClass', RubyEval('Vim::evaluate("v:true").class')) -+ call assert_equal('false', RubyEval('Vim::evaluate("v:false")')) -+ call assert_equal('FalseClass',RubyEval('Vim::evaluate("v:false").class')) -+ endfunc -+ -+ func Test_Vim_evaluate_list() -+ call setline(line('$'), ['2 line 2']) -+ ruby Vim.command("normal /^2\n") -+ let l = ["abc", "def"] -+ ruby << EOF -+ curline = $curbuf.line_number -+ l = Vim.evaluate("l"); -+ $curbuf.append(curline, l.join("\n")) -+ EOF -+ normal j -+ .rubydo $_ = $_.gsub(/\n/, '/') -+ call assert_equal('abc/def', getline('$')) -+ endfunc -+ -+ func Test_Vim_evaluate_dict() -+ let d = {'a': 'foo', 'b': 123} -+ redir => l:out -+ ruby d = Vim.evaluate("d"); print d -+ redir END -+ call assert_equal(['{"a"=>"foo", "b"=>123}'], split(l:out, "\n")) -+ endfunc -+ -+ " Test Vim::message({msg}) (display message {msg}) -+ func Test_Vim_message() -+ ruby Vim::message('A message') -+ let messages = split(execute('message'), "\n") -+ call assert_equal('A message', messages[-1]) -+ endfunc -+ -+ func Test_print() -+ ruby print "Hello World!" -+ let messages = split(execute('message'), "\n") -+ call assert_equal('Hello World!', messages[-1]) -+ endfunc -+ -+ func Test_p() -+ ruby p 'Just a test' -+ let messages = split(execute('message'), "\n") -+ call assert_equal('"Just a test"', messages[-1]) - endfunc -*** ../vim-8.1.0220/src/version.c 2018-07-28 17:18:05.164865356 +0200 ---- src/version.c 2018-07-28 17:22:07.999512544 +0200 -*************** -*** 800,801 **** ---- 800,803 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 221, - /**/ - --- -GUARD #1: What, ridden on a horse? -ARTHUR: Yes! -GUARD #1: You're using coconuts! -ARTHUR: What? -GUARD #1: You've got two empty halves of coconut and you're bangin' 'em - together. - 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 /// |