Mercurial > vim
diff src/testdir/test_vim9_script.vim @ 21699:1b96535705a0 v8.2.1399
patch 8.2.1399: Vim9: may find imported item in wrong script
Commit: https://github.com/vim/vim/commit/efa94447e85eacce62c1fcf6b63e7f3431e2cb1b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 8 22:16:00 2020 +0200
patch 8.2.1399: Vim9: may find imported item in wrong script
Problem: Vim9: may find imported item in wrong script.
Solution: When looking up script-local function use the embedded script ID.
(issue #6644)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 08 Aug 2020 22:30:03 +0200 |
parents | f41c646cb8b9 |
children | 6bb806a0238c |
line wrap: on
line diff
--- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -1430,6 +1430,31 @@ def Test_import_in_filetype() &rtp = save_rtp enddef +def Test_use_import_in_mapping() + let lines =<< trim END + vim9script + export def Funcx() + g:result = 42 + enddef + END + writefile(lines, 'XsomeExport.vim') + lines =<< trim END + vim9script + import Funcx from './XsomeExport.vim' + nnoremap <C-B> :call <sid>Funcx()<cr> + END + writefile(lines, 'Xmapscript.vim') + + source Xmapscript.vim + feedkeys("\<c-b>", "xt") + assert_equal(42, g:result) + + unlet g:result + delete('XsomeExport.vim') + delete('Xmapscript.vim') + nunmap <C-B> +enddef + def Test_vim9script_fails() CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:') CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:')