Mercurial > vim
changeset 21697:6c477989f9a4 v8.2.1398
patch 8.2.1398: autoload script sourced twice if sourced directly
Commit: https://github.com/vim/vim/commit/daa2f36573db3e1df7eb1fdbc3a09a2815644048
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Aug 8 21:33:21 2020 +0200
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 https://github.com/vim/vim/issues/6644)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 08 Aug 2020 21:45:04 +0200 |
parents | 217fe247a68b |
children | df2188073dca |
files | src/scriptfile.c src/testdir/sautest/autoload/sourced.vim src/version.c |
diffstat | 3 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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; }