patch 8.2.4275: cannot use an autoload function from a package under start
Problem: Cannot use an autoload function from a package under start.
Solution: Also look in the "start" package directory. (Bjorn Linse,
closes #7193)
diff --git a/src/scriptfile.c b/src/scriptfile.c
index dec512a..cee3f54 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -2294,7 +2294,7 @@
// 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 d7a38da..8ca9b41 100644
--- a/src/testdir/test_packadd.vim
+++ b/src/testdir/test_packadd.vim
@@ -246,6 +246,19 @@
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 921f076..d3b7bf8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4275,
+/**/
4274,
/**/
4273,