0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 8.2.1152: Vim9: function reference is missing script prefix

Problem:    Vim9: function reference is missing script prefix.
Solution:   Use the actual function name instead of the name searched for in
            the script context. (closes #6412)
This commit is contained in:
Bram Moolenaar
2020-07-07 22:50:12 +02:00
parent 0ab55d6201
commit fe465a01cf
3 changed files with 37 additions and 1 deletions

View File

@@ -980,6 +980,39 @@ def Test_vim9script_reload_import()
delete('Ximport.vim')
enddef
" Not exported function that is referenced needs to be accessed by the
" script-local name.
def Test_vim9script_funcref()
let sortlines =<< trim END
vim9script
def Compare(i1: number, i2: number): number
return 1
enddef
export def FastSort(): list<number>
return range(5)->sort(Compare)
enddef
END
writefile(sortlines, 'Xsort.vim')
let lines =<< trim END
vim9script
import FastSort from './Xsort.vim'
def Test()
g:result = FastSort()
enddef
Test()
END
writefile(lines, 'Xscript.vim')
source Xscript.vim
assert_equal([4, 3, 2, 1, 0], g:result)
unlet g:result
delete('Xsort.vim')
delete('Xscript.vim')
enddef
def Test_vim9script_reload_delfunc()
let first_lines =<< trim END
vim9script