0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.1398: autoload script sourced twice if sourced directly

Problem:    Autoload script sourced twice if sourced directly.
Solution:   Do not source an autoload script again. (issue #6644)
This commit is contained in:
Bram Moolenaar
2020-08-08 21:33:21 +02:00
parent 4a6d1b660f
commit daa2f36573
3 changed files with 7 additions and 2 deletions

View File

@@ -2012,6 +2012,7 @@ script_autoload(
char_u *scriptname, *tofree; char_u *scriptname, *tofree;
int ret = FALSE; int ret = FALSE;
int i; int i;
int ret_sid;
// If there is no '#' after name[0] there is no package name. // If there is no '#' after name[0] there is no package name.
p = vim_strchr(name, AUTOLOAD_CHAR); p = vim_strchr(name, AUTOLOAD_CHAR);
@@ -2039,7 +2040,8 @@ script_autoload(
} }
// Try loading the package from $VIMRUNTIME/autoload/<name>.vim // 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; ret = TRUE;
} }

View File

@@ -1,3 +1,4 @@
let g:loaded_sourced_vim += 1 let g:loaded_sourced_vim += 1
func! sourced#something() func sourced#something()
endfunc endfunc
call sourced#something()

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1398,
/**/ /**/
1397, 1397,
/**/ /**/