diff options
author | =?UTF-8?q?Bj=C3=B6rn=20Linse?= <bjorn.linse@gmail.com> | 2022-01-31 17:26:05 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-01-31 17:26:05 +0000 |
commit | 223a950a85448253780da4e821a5b23dcdfad28f (patch) | |
tree | 81659ffb3ffb58b4cadc1b8dc529591d531bec75 | |
parent | c570e9cf68c0fe30366e82c96be460047dd659b9 (diff) |
patch 8.2.4275: cannot use an autoload function from a package under startv8.2.4275
Problem: Cannot use an autoload function from a package under start.
Solution: Also look in the "start" package directory. (Bjorn Linse,
closes #7193)
-rw-r--r-- | src/scriptfile.c | 2 | ||||
-rw-r--r-- | src/testdir/test_packadd.vim | 13 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c index dec512a72b..cee3f5440b 100644 --- a/src/scriptfile.c +++ b/src/scriptfile.c @@ -2294,7 +2294,7 @@ script_autoload( // Try loading the package from $VIMRUNTIME/autoload/<name>.vim // Use "ret_sid" to avoid loading the same script again. - if (source_in_path(p_rtp, scriptname, 0, &ret_sid) == OK) + if (source_in_path(p_rtp, scriptname, DIP_START, &ret_sid) == OK) ret = TRUE; } diff --git a/src/testdir/test_packadd.vim b/src/testdir/test_packadd.vim index d7a38daf31..8ca9b41a28 100644 --- a/src/testdir/test_packadd.vim +++ b/src/testdir/test_packadd.vim @@ -246,6 +246,19 @@ func Test_packloadall() call assert_equal(4321, g:plugin_bar_number) endfunc +func Test_start_autoload() + " plugin foo with an autoload directory + let autodir = &packpath .. '/pack/mine/start/foo/autoload' + call mkdir(autodir, 'p') + let fname = autodir .. '/foobar.vim' + call writefile(['func foobar#test()', + \ ' return 1666', + \ 'endfunc'], fname) + + call assert_equal(1666, foobar#test()) + call delete(fname) +endfunc + func Test_helptags() let docdir1 = &packpath . '/pack/mine/start/foo/doc' let docdir2 = &packpath . '/pack/mine/start/bar/doc' diff --git a/src/version.c b/src/version.c index 921f076727..d3b7bf8461 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4275, +/**/ 4274, /**/ 4273, |