diff options
author | Yegappan Lakshmanan <yegappan@yahoo.com> | 2024-05-10 13:10:54 +0200 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-05-10 13:10:54 +0200 |
commit | 8c35c26c1f68950a75a1a93339410244fec23afc (patch) | |
tree | 04ed2dd7e54c5c41a7c9555f9567f4424fcc81f3 | |
parent | 63f2a5b8adfb570792b9a7cbfff1c350913bbe3e (diff) |
patch 9.1.0403: Vim9: not able to import file from start dirv9.1.0403
Problem: Vim9: not able to import file from start dir
(Danielle McLean)
Solution: Allow to import from start directory
(Yegappan Lakshmanan)
fixes: #13313
closes: #14740
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r-- | src/scriptfile.c | 2 | ||||
-rw-r--r-- | src/testdir/test_vim9_import.vim | 28 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 31 insertions, 1 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c index d5ec7cfddd..b6c66b7a48 100644 --- a/src/scriptfile.c +++ b/src/scriptfile.c @@ -682,7 +682,7 @@ find_script_in_rtp(char_u *name) { int sid = -1; - (void)do_in_path_and_pp(p_rtp, name, DIP_NOAFTER, + (void)do_in_path_and_pp(p_rtp, name, DIP_START | DIP_NOAFTER, find_script_callback, &sid); return sid; } diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim index 94e0f34a33..61184a1f48 100644 --- a/src/testdir/test_vim9_import.vim +++ b/src/testdir/test_vim9_import.vim @@ -3283,4 +3283,32 @@ def Test_set_imported_class_member() v9.CheckScriptSuccess(lines) enddef +" Test for using an imported function from the vimrc file. The function is +" defined in the 'start' directory of a package. +def Test_import_from_vimrc() + mkdir('Ximport/pack/foobar/start/foo/autoload', 'pR') + var lines =<< trim END + vim9script + export def Foo() + writefile(['Foo called'], 'Xoutput.log') + enddef + END + writefile(lines, 'Ximport/pack/foobar/start/foo/autoload/foo.vim') + lines =<< trim END + vim9script + set packpath+=./Ximport + try + import autoload 'foo.vim' + foo.Foo() + catch + writefile(['Failed to import foo.vim'], 'Xoutput.log') + endtry + qall! + END + writefile(lines, 'Xvimrc', 'D') + g:RunVim([], [], '-u Xvimrc') + assert_equal(['Foo called'], readfile('Xoutput.log')) + delete('Xoutput.log') +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker diff --git a/src/version.c b/src/version.c index a8f47873f8..954b747b58 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 403, +/**/ 402, /**/ 401, |