diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-01-24 21:28:01 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-01-24 21:28:01 +0000 |
commit | 3e93a2b075e99a2b3ced85227a6373be233712ff (patch) | |
tree | e34bf26f7503259ea27c2ec7c4a612e41c2b3307 /src/testdir/test_vim9_import.vim | |
parent | dff97e65eb1bb24c44c2b7430a480888d8afb3f4 (diff) |
patch 8.2.4209: partial in 'opfunc' cannot use an imported functionv8.2.4209
Problem: partial in 'opfunc' cannot use an imported function.
Solution: Also expand the function name in a partial. (closes #9614)
Diffstat (limited to 'src/testdir/test_vim9_import.vim')
-rw-r--r-- | src/testdir/test_vim9_import.vim | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim index 4e0b5332e6..506b0ee8d7 100644 --- a/src/testdir/test_vim9_import.vim +++ b/src/testdir/test_vim9_import.vim @@ -673,6 +673,39 @@ def Test_use_autoload_import_in_insert_completion() &rtp = save_rtp enddef +def Test_use_autoload_import_partial_in_opfunc() + mkdir('Xdir/autoload', 'p') + var save_rtp = &rtp + exe 'set rtp^=' .. getcwd() .. '/Xdir' + + var lines =<< trim END + vim9script + export def Opfunc(..._) + g:opfunc_called = 'yes' + enddef + END + writefile(lines, 'Xdir/autoload/opfunc.vim') + + new + lines =<< trim END + vim9script + import autoload 'opfunc.vim' + nnoremap <expr> <F3> TheFunc() + def TheFunc(): string + &operatorfunc = function('opfunc.Opfunc', [0]) + return 'g@' + enddef + feedkeys("\<F3>l", 'xt') + assert_equal('yes', g:opfunc_called) + END + CheckScriptSuccess(lines) + + set opfunc= + bwipe! + delete('Xdir', 'rf') + &rtp = save_rtp +enddef + def Test_use_autoload_import_in_fold_expression() mkdir('Xdir/autoload', 'p') var save_rtp = &rtp |