patch 8.2.4123: complete function cannot be import.Name
Problem: Complete function cannot be import.Name.
Solution: Dereference the function name if needed. Also: do not see
"import.Name" as a builtin function. (closes #9541)
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 36caf70..1378261 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -580,6 +580,29 @@
nunmap <F3>
enddef
+def Test_use_import_in_completion()
+ var lines =<< trim END
+ vim9script
+ export def Complete(..._): list<string>
+ return ['abcd']
+ enddef
+ END
+ writefile(lines, 'Xscript.vim')
+
+ lines =<< trim END
+ vim9script
+ import './Xscript.vim'
+
+ command -nargs=1 -complete=customlist,Xscript.Complete Cmd echo 'ok'
+ feedkeys(":Cmd ab\<Tab>\<C-B>#\<CR>", 'xnt')
+ assert_equal('#Cmd abcd', @:)
+ END
+ CheckScriptSuccess(lines)
+
+ delcommand Cmd
+ delete('Xscript.vim')
+enddef
+
def Test_export_fails()
CheckScriptFailure(['export var some = 123'], 'E1042:')
CheckScriptFailure(['vim9script', 'export var g:some'], 'E1022:')