summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/scriptfile.c4
-rw-r--r--src/testdir/sautest/autoload/sourced.vim3
-rw-r--r--src/version.c2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/scriptfile.c b/src/scriptfile.c
index b93e35138..38215914d 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -2012,6 +2012,7 @@ script_autoload(
char_u *scriptname, *tofree;
int ret = FALSE;
int i;
+ int ret_sid;
// If there is no '#' after name[0] there is no package name.
p = vim_strchr(name, AUTOLOAD_CHAR);
@@ -2039,7 +2040,8 @@ script_autoload(
}
// Try loading the package from $VIMRUNTIME/autoload/<name>.vim
- if (source_runtime(scriptname, 0) == OK)
+ // Use "ret_sid" to avoid loading the same script again.
+ if (source_in_path(p_rtp, scriptname, 0, &ret_sid) == OK)
ret = TRUE;
}
diff --git a/src/testdir/sautest/autoload/sourced.vim b/src/testdir/sautest/autoload/sourced.vim
index f69f00cb5..aac96b11c 100644
--- a/src/testdir/sautest/autoload/sourced.vim
+++ b/src/testdir/sautest/autoload/sourced.vim
@@ -1,3 +1,4 @@
let g:loaded_sourced_vim += 1
-func! sourced#something()
+func sourced#something()
endfunc
+call sourced#something()
diff --git a/src/version.c b/src/version.c
index b67d3c3da..e97b3906e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1398,
+/**/
1397,
/**/
1396,