mirror of
https://github.com/neovim/neovim.git
synced 2026-04-30 11:14:10 +00:00
vim-patch:7.4.2137
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
437bafe4c8
This commit is contained in:
@@ -150,3 +150,18 @@ func Test_function_with_funcref()
|
||||
call assert_equal(v:t_string, s:fref('x'))
|
||||
call assert_fails("call function('s:f')", 'E700:')
|
||||
endfunc
|
||||
|
||||
func Test_funcref()
|
||||
func! One()
|
||||
return 1
|
||||
endfunc
|
||||
let OneByName = function('One')
|
||||
let OneByRef = funcref('One')
|
||||
func! One()
|
||||
return 2
|
||||
endfunc
|
||||
call assert_equal(2, OneByName())
|
||||
call assert_equal(1, OneByRef())
|
||||
let OneByRef = funcref('One')
|
||||
call assert_equal(2, OneByRef())
|
||||
endfunc
|
||||
|
||||
Reference in New Issue
Block a user