summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0136
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0136')
-rw-r--r--data/vim/patches/8.1.0136342
1 files changed, 342 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0136 b/data/vim/patches/8.1.0136
new file mode 100644
index 000000000..659431504
--- /dev/null
+++ b/data/vim/patches/8.1.0136
@@ -0,0 +1,342 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0136
+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.0136
+Problem: Lua tests don't cover new features.
+Solution: Add more tests. (Dominique Pelle, closes #3130)
+Files: runtime/doc/if_lua.txt, src/testdir/test_lua.vim
+
+
+*** ../vim-8.1.0135/runtime/doc/if_lua.txt 2018-05-17 13:41:41.000000000 +0200
+--- runtime/doc/if_lua.txt 2018-07-01 19:45:39.183210699 +0200
+***************
+*** 127,133 ****
+ rules. Example: >
+ :lua t = {math.pi, false, say = 'hi'}
+ :echo luaeval('vim.list(t)')
+! :" [3.141593, 0], 'say' is ignored
+ <
+ vim.dict([arg]) Returns an empty dictionary or, if "arg" is a
+ Lua table, returns a dict d such that d[k] =
+--- 127,133 ----
+ rules. Example: >
+ :lua t = {math.pi, false, say = 'hi'}
+ :echo luaeval('vim.list(t)')
+! :" [3.141593, v:false], 'say' is ignored
+ <
+ vim.dict([arg]) Returns an empty dictionary or, if "arg" is a
+ Lua table, returns a dict d such that d[k] =
+***************
+*** 141,148 ****
+ :" {'say': 'hi'}, numeric keys ignored
+ <
+ vim.funcref({name}) Returns a Funcref to function {name} (see
+! |Funcref|). It is equivalent to Vim's
+! "function". NOT IMPLEMENTED YET
+
+ vim.buffer([arg]) If "arg" is a number, returns buffer with
+ number "arg" in the buffer list or, if "arg"
+--- 141,147 ----
+ :" {'say': 'hi'}, numeric keys ignored
+ <
+ vim.funcref({name}) Returns a Funcref to function {name} (see
+! |Funcref|). It is equivalent to Vim's function().
+
+ vim.buffer([arg]) If "arg" is a number, returns buffer with
+ number "arg" in the buffer list or, if "arg"
+***************
+*** 166,172 ****
+ or window, respectively. Examples: >
+ :lua l = vim.list()
+ :lua print(type(l), vim.type(l))
+! :" userdata list
+ <
+ vim.command({cmd}) Executes the vim (ex-mode) command {cmd}.
+ Examples: >
+--- 165,171 ----
+ or window, respectively. Examples: >
+ :lua l = vim.list()
+ :lua print(type(l), vim.type(l))
+! :" list
+ <
+ vim.command({cmd}) Executes the vim (ex-mode) command {cmd}.
+ Examples: >
+*** ../vim-8.1.0135/src/testdir/test_lua.vim 2018-07-01 15:12:00.224057865 +0200
+--- src/testdir/test_lua.vim 2018-07-01 19:45:39.183210699 +0200
+***************
+*** 124,130 ****
+ lua w2()
+ call assert_equal('Xfoo2', bufname('%'))
+
+! lua w1, w2 = nil, nil
+ %bwipe!
+ endfunc
+
+--- 124,130 ----
+ lua w2()
+ call assert_equal('Xfoo2', bufname('%'))
+
+! lua w1, w2 = nil
+ %bwipe!
+ endfunc
+
+***************
+*** 142,148 ****
+ lua b2()
+ call assert_equal('Xfoo2', bufname('%'))
+
+! lua b1, b2 = nil, nil
+ %bwipe!
+ endfunc
+
+--- 142,148 ----
+ lua b2()
+ call assert_equal('Xfoo2', bufname('%'))
+
+! lua b1, b2, w1, w2 = nil
+ %bwipe!
+ endfunc
+
+***************
+*** 191,197 ****
+ call assert_equal('Xfoo1', luaeval("vim.buffer(" . bn1 . ").name"))
+ call assert_equal('Xfoo2', luaeval("vim.buffer(" . bn2 . ").name"))
+
+! lua bn1, bn2 = nil, nil
+ %bwipe!
+ endfunc
+
+--- 191,197 ----
+ call assert_equal('Xfoo1', luaeval("vim.buffer(" . bn1 . ").name"))
+ call assert_equal('Xfoo2', luaeval("vim.buffer(" . bn2 . ").name"))
+
+! lua bn1, bn2 = nil
+ %bwipe!
+ endfunc
+
+***************
+*** 275,281 ****
+ call assert_equal('Xfoo1', luaeval('vim.buffer().name'))
+ call assert_equal('Xfoo1', bufname('%'))
+
+! lua bn, bp = nil, nil
+ %bwipe!
+ endfunc
+
+--- 275,281 ----
+ call assert_equal('Xfoo1', luaeval('vim.buffer().name'))
+ call assert_equal('Xfoo1', bufname('%'))
+
+! lua bn, bp = nil
+ %bwipe!
+ endfunc
+
+***************
+*** 295,306 ****
+ func Test_list()
+ call assert_equal([], luaeval('vim.list()'))
+
+- " Same example as in :help lua-vim.
+- " FIXME: test is disabled because it does not work.
+- " See https://github.com/vim/vim/issues/3086
+- " lua t = {math.pi, false, say = 'hi'}
+- " call assert_equal([3.141593, 0], luaeval('vim.list(t)'))
+-
+ let l = []
+ lua l = vim.eval('l')
+ lua l:add(123)
+--- 295,300 ----
+***************
+*** 319,327 ****
+--- 313,338 ----
+ lua l:insert('xx', 3)
+ call assert_equal(['first', 124.0, 'abc', 'xx', v:true, v:false, {'a': 1, 'b': 2, 'c': 3}], l)
+
++ lockvar 1 l
++ call assert_fails('lua l:add("x")', '[string "vim chunk"]:1: list is locked')
++
+ lua l = nil
+ endfunc
+
++ func Test_list_table()
++ " See :help lua-vim
++ " Non-numeric keys should not be used to initialize the list
++ " so say = 'hi' should be ignored.
++ lua t = {3.14, 'hello', false, true, say = 'hi'}
++ call assert_equal([3.14, 'hello', v:false, v:true], luaeval('vim.list(t)'))
++ lua t = nil
++
++ call assert_fails('lua vim.list(1)', '[string "vim chunk"]:1: table expected, got number')
++ call assert_fails('lua vim.list("x")', '[string "vim chunk"]:1: table expected, got string')
++ call assert_fails('lua vim.list(print)', '[string "vim chunk"]:1: table expected, got function')
++ call assert_fails('lua vim.list(true)', '[string "vim chunk"]:1: table expected, got boolean')
++ endfunc
++
+ " Test l() i.e. iterator on list
+ func Test_list_iter()
+ lua l = vim.list():add('foo'):add('bar')
+***************
+*** 329,335 ****
+ lua for v in l() do str = str .. v end
+ call assert_equal('foobar', luaeval('str'))
+
+! lua str, v, l = nil, nil, nil
+ endfunc
+
+ func Test_recursive_list()
+--- 340,346 ----
+ lua for v in l() do str = str .. v end
+ call assert_equal('foobar', luaeval('str'))
+
+! lua str, l = nil
+ endfunc
+
+ func Test_recursive_list()
+***************
+*** 359,370 ****
+ func Test_dict()
+ call assert_equal({}, luaeval('vim.dict()'))
+
+- " Same example as in :help lua-vim.
+- " FIXME: test is disabled because it does not work.
+- " See https://github.com/vim/vim/issues/3086
+- " lua t = {math.pi, false, say = 'hi'}
+- " call assert_equal({'say' : 'hi'}, luaeval('vim.dict(t)'))
+-
+ let d = {}
+ lua d = vim.eval('d')
+ lua d[0] = 123
+--- 370,375 ----
+***************
+*** 383,391 ****
+--- 388,419 ----
+ lua d[4] = nil
+ call assert_equal({'0':124.0, '1':'abc', '2':v:true, '3':v:false, '5': {'a':1, 'b':2, 'c':3}}, d)
+
++ lockvar 1 d
++ call assert_fails('lua d[6] = 1', '[string "vim chunk"]:1: dict is locked')
++
+ lua d = nil
+ endfunc
+
++ func Test_dict_table()
++ lua t = {key1 = 'x', key2 = 3.14, key3 = true, key4 = false}
++ call assert_equal({'key1': 'x', 'key2': 3.14, 'key3': v:true, 'key4': v:false},
++ \ luaeval('vim.dict(t)'))
++
++ " Same example as in :help lua-vim.
++ lua t = {math.pi, false, say = 'hi'}
++ " FIXME: commented out as it currently does not work as documented:
++ " Expected {'say': 'hi'}
++ " but got {'1': 3.141593, '2': v:false, 'say': 'hi'}
++ " Is the documentation or the code wrong?
++ "call assert_equal({'say' : 'hi'}, luaeval('vim.dict(t)'))
++ lua t = nil
++
++ call assert_fails('lua vim.dict(1)', '[string "vim chunk"]:1: table expected, got number')
++ call assert_fails('lua vim.dict("x")', '[string "vim chunk"]:1: table expected, got string')
++ call assert_fails('lua vim.dict(print)', '[string "vim chunk"]:1: table expected, got function')
++ call assert_fails('lua vim.dict(true)', '[string "vim chunk"]:1: table expected, got boolean')
++ endfunc
++
+ " Test d() i.e. iterator on dictionary
+ func Test_dict_iter()
+ let d = {'a': 1, 'b':2}
+***************
+*** 394,400 ****
+ lua for k,v in d() do str = str .. k ..':' .. v .. ',' end
+ call assert_equal('a:1,b:2,', luaeval('str'))
+
+! lua str, k, v, d = nil, nil, nil, nil
+ endfunc
+
+ func Test_funcref()
+--- 422,428 ----
+ lua for k,v in d() do str = str .. k ..':' .. v .. ',' end
+ call assert_equal('a:1,b:2,', luaeval('str'))
+
+! lua str, d = nil
+ endfunc
+
+ func Test_funcref()
+***************
+*** 418,423 ****
+--- 446,453 ----
+ lua d.len = vim.funcref"Mylen" -- assign d as 'self'
+ lua res = (d.len() == vim.funcref"len"(vim.eval"l")) and "OK" or "FAIL"
+ call assert_equal("OK", luaeval('res'))
++
++ lua i1, i2, msg, d, res = nil
+ endfunc
+
+ " Test vim.type()
+***************
+*** 496,502 ****
+ call assert_equal('hello', luaeval('str'))
+ call assert_equal(123.0, luaeval('num'))
+
+! lua str, num = nil, nil
+ call delete('Xlua_file')
+ endfunc
+
+--- 526,532 ----
+ call assert_equal('hello', luaeval('str'))
+ call assert_equal(123.0, luaeval('num'))
+
+! lua str, num = nil
+ call delete('Xlua_file')
+ endfunc
+
+***************
+*** 512,518 ****
+ let msg = split(execute('message'), "\n")[-1]
+ call assert_equal('str=foo, num=321', msg)
+
+! lua str, num = nil, nil
+ call delete('Xlua_file')
+ bwipe!
+ endfunc
+--- 542,560 ----
+ let msg = split(execute('message'), "\n")[-1]
+ call assert_equal('str=foo, num=321', msg)
+
+! lua str, num = nil
+! call delete('Xlua_file')
+! bwipe!
+! endfunc
+!
+! " Test :luafile with syntax error
+! func Test_luafile_error()
+! new Xlua_file
+! call writefile(['nil = 0' ], 'Xlua_file')
+! call setfperm('Xlua_file', 'r-xr-xr-x')
+!
+! call assert_fails('luafile Xlua_file', "Xlua_file:1: unexpected symbol near 'nil'")
+!
+ call delete('Xlua_file')
+ bwipe!
+ endfunc
+*** ../vim-8.1.0135/src/version.c 2018-07-01 16:43:59.850736541 +0200
+--- src/version.c 2018-07-01 19:47:47.126402301 +0200
+***************
+*** 791,792 ****
+--- 791,794 ----
+ { /* Add new patch number below this line */
++ /**/
++ 136,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+165. You have a web page burned into your glasses
+
+ /// 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 ///