From daa2f36573db3e1df7eb1fdbc3a09a2815644048 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 8 Aug 2020 21:33:21 +0200 Subject: 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) --- src/scriptfile.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/scriptfile.c') 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/.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; } -- cgit v1.2.1