patch 8.1.1984: more functions can be used as methods
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index d5ce5f0..fc22bcd 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -400,10 +400,10 @@
func Test_pathshorten()
call assert_equal('', pathshorten(''))
call assert_equal('foo', pathshorten('foo'))
- call assert_equal('/foo', pathshorten('/foo'))
+ call assert_equal('/foo', '/foo'->pathshorten())
call assert_equal('f/', pathshorten('foo/'))
call assert_equal('f/bar', pathshorten('foo/bar'))
- call assert_equal('f/b/foobar', pathshorten('foo/bar/foobar'))
+ call assert_equal('f/b/foobar', 'foo/bar/foobar'->pathshorten())
call assert_equal('/f/b/foobar', pathshorten('/foo/bar/foobar'))
call assert_equal('.f/bar', pathshorten('.foo/bar'))
call assert_equal('~f/bar', pathshorten('~foo/bar'))
@@ -847,21 +847,21 @@
call assert_equal(0, nextnonblank(-1))
call assert_equal(0, nextnonblank(0))
call assert_equal(1, nextnonblank(1))
- call assert_equal(4, nextnonblank(2))
+ call assert_equal(4, 2->nextnonblank())
call assert_equal(4, nextnonblank(3))
call assert_equal(4, nextnonblank(4))
call assert_equal(6, nextnonblank(5))
call assert_equal(6, nextnonblank(6))
call assert_equal(7, nextnonblank(7))
- call assert_equal(0, nextnonblank(8))
+ call assert_equal(0, 8->nextnonblank())
call assert_equal(0, prevnonblank(-1))
call assert_equal(0, prevnonblank(0))
- call assert_equal(1, prevnonblank(1))
+ call assert_equal(1, 1->prevnonblank())
call assert_equal(1, prevnonblank(2))
call assert_equal(1, prevnonblank(3))
call assert_equal(4, prevnonblank(4))
- call assert_equal(4, prevnonblank(5))
+ call assert_equal(4, 5->prevnonblank())
call assert_equal(6, prevnonblank(6))
call assert_equal(7, prevnonblank(7))
call assert_equal(0, prevnonblank(8))
@@ -1220,7 +1220,7 @@
call assert_equal("a", trim("a", ""))
call assert_equal("", trim("", "a"))
- let chars = join(map(range(1, 0x20) + [0xa0], {n -> nr2char(n)}), '')
+ let chars = join(map(range(1, 0x20) + [0xa0], {n -> n->nr2char()}), '')
call assert_equal("x", trim(chars . "x" . chars))
endfunc
diff --git a/src/testdir/test_perl.vim b/src/testdir/test_perl.vim
index 8f23f2c..b4df0ba 100644
--- a/src/testdir/test_perl.vim
+++ b/src/testdir/test_perl.vim
@@ -30,7 +30,7 @@
funct Test_VIM_Blob()
call assert_equal('0z', perleval('VIM::Blob("")'))
- call assert_equal('0z31326162', perleval('VIM::Blob("12ab")'))
+ call assert_equal('0z31326162', 'VIM::Blob("12ab")'->perleval())
call assert_equal('0z00010203', perleval('VIM::Blob("\x00\x01\x02\x03")'))
call assert_equal('0z8081FEFF', perleval('VIM::Blob("\x80\x81\xfe\xff")'))
endfunc
diff --git a/src/testdir/test_prompt_buffer.vim b/src/testdir/test_prompt_buffer.vim
index 028f337..199c1c2 100644
--- a/src/testdir/test_prompt_buffer.vim
+++ b/src/testdir/test_prompt_buffer.vim
@@ -48,6 +48,7 @@
\ 'new',
\ 'set buftype=prompt',
\ 'call prompt_setcallback(bufnr(""), function("TextEntered"))',
+ \ 'eval bufnr("")->prompt_setprompt("cmd: ")',
\ 'startinsert',
\ ], a:name)
endfunc
@@ -60,10 +61,10 @@
call WriteScript(scriptName)
let buf = RunVimInTerminal('-S ' . scriptName, {})
- call WaitForAssert({-> assert_equal('%', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd:', term_getline(buf, 1))})
call term_sendkeys(buf, "hello\<CR>")
- call WaitForAssert({-> assert_equal('% hello', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd: hello', term_getline(buf, 1))})
call WaitForAssert({-> assert_equal('Command: "hello"', term_getline(buf, 2))})
call WaitForAssert({-> assert_equal('Result: "hello"', term_getline(buf, 3))})
@@ -82,19 +83,19 @@
call WriteScript(scriptName)
let buf = RunVimInTerminal('-S ' . scriptName, {})
- call WaitForAssert({-> assert_equal('%', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd:', term_getline(buf, 1))})
let bs = "\<BS>"
call term_sendkeys(buf, "hello" . bs . bs)
- call WaitForAssert({-> assert_equal('% hel', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd: hel', term_getline(buf, 1))})
let left = "\<Left>"
call term_sendkeys(buf, left . left . left . bs . '-')
- call WaitForAssert({-> assert_equal('% -hel', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd: -hel', term_getline(buf, 1))})
let end = "\<End>"
call term_sendkeys(buf, end . "x")
- call WaitForAssert({-> assert_equal('% -helx', term_getline(buf, 1))})
+ call WaitForAssert({-> assert_equal('cmd: -helx', term_getline(buf, 1))})
call term_sendkeys(buf, "\<C-U>exit\<CR>")
call WaitForAssert({-> assert_equal('other buffer', term_getline(buf, 1))})
@@ -113,8 +114,8 @@
new
set buftype=prompt
- call prompt_setcallback(bufnr(''), function('MyPromptCallback', [{}]))
- call prompt_setinterrupt(bufnr(''), function('MyPromptInterrupt', [{}]))
+ eval bufnr('')->prompt_setcallback(function('MyPromptCallback', [{}]))
+ eval bufnr('')->prompt_setinterrupt(function('MyPromptInterrupt', [{}]))
call test_garbagecollect_now()
" Must not crash
call feedkeys("\<CR>\<C-C>", 'xt')
diff --git a/src/testdir/test_python2.vim b/src/testdir/test_python2.vim
index 61cf959..de5b0c9 100644
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -54,7 +54,7 @@
try
py f = vim.Function('\x80\xfdR' + vim.eval('s:foo()'))
- call assert_equal(name, pyeval('f.name'))
+ call assert_equal(name, 'f.name'->pyeval())
catch
call assert_false(v:exception)
endtry
diff --git a/src/testdir/test_python3.vim b/src/testdir/test_python3.vim
index 7f48619..d66e54f 100644
--- a/src/testdir/test_python3.vim
+++ b/src/testdir/test_python3.vim
@@ -54,7 +54,7 @@
try
py3 f = vim.Function(b'\x80\xfdR' + vim.eval('s:foo()').encode())
- call assert_equal(name, py3eval('f.name'))
+ call assert_equal(name, 'f.name'->py3eval())
catch
call assert_false(v:exception)
endtry
diff --git a/src/testdir/test_pyx2.vim b/src/testdir/test_pyx2.vim
index 40e93c2..20199a4 100644
--- a/src/testdir/test_pyx2.vim
+++ b/src/testdir/test_pyx2.vim
@@ -34,7 +34,7 @@
func Test_pyxeval()
pyx import sys
- call assert_match(s:py2pattern, split(pyxeval('sys.version'))[0])
+ call assert_match(s:py2pattern, split('sys.version'->pyxeval())[0])
endfunc