mirror of
https://github.com/vim/vim.git
synced 2025-10-02 05:04:20 -04:00
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.
This commit is contained in:
@@ -179,3 +179,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