0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

Fix: exists() was causing an autload script to be loaded.

This commit is contained in:
Bram Moolenaar
2010-07-11 23:12:29 +02:00
parent b02cbe3468
commit 2cefbedaab
2 changed files with 11 additions and 2 deletions

View File

@@ -1099,8 +1099,6 @@ Vim 7.3:
- Conceal feature: no update when moving to another window. (Dominique Pelle, - Conceal feature: no update when moving to another window. (Dominique Pelle,
2010 Jul 5) Vince will look into it. 2010 Jul 5) Vince will look into it.
Patches to possibly include: Patches to possibly include:
- Patch to add diff functionality to 2html.vim. (Christian Brabandt, 2009 Dec
15)
- Win32: patch for better font scaling. (George Reilly, 2009 Mar 26) - Win32: patch for better font scaling. (George Reilly, 2009 Mar 26)
- Patch for completion of ":find" arguments. (Nazri Ramliy, 2009 Feb 22, 26) - Patch for completion of ":find" arguments. (Nazri Ramliy, 2009 Feb 22, 26)
8 For ":find" and ":sfind" expand files found in 'path'. 8 For ":find" and ":sfind" expand files found in 'path'.

View File

@@ -126,6 +126,9 @@ static dictitem_T globvars_var;
*/ */
static hashtab_T compat_hashtab; static hashtab_T compat_hashtab;
/* When using exists() don't auto-load a script. */
static int no_autoload = FALSE;
/* /*
* When recursively copying lists and dicts we need to remember which ones we * When recursively copying lists and dicts we need to remember which ones we
* have done to avoid endless recursiveness. This unique ID is used for that. * have done to avoid endless recursiveness. This unique ID is used for that.
@@ -9724,6 +9727,8 @@ f_exists(argvars, rettv)
int n = FALSE; int n = FALSE;
int len = 0; int len = 0;
no_autoload = TRUE;
p = get_tv_string(&argvars[0]); p = get_tv_string(&argvars[0]);
if (*p == '$') /* environment variable */ if (*p == '$') /* environment variable */
{ {
@@ -9790,6 +9795,8 @@ f_exists(argvars, rettv)
} }
rettv->vval.v_number = n; rettv->vval.v_number = n;
no_autoload = FALSE;
} }
#ifdef FEAT_FLOAT #ifdef FEAT_FLOAT
@@ -21281,6 +21288,10 @@ script_autoload(name, reload)
int ret = FALSE; int ret = FALSE;
int i; int i;
/* Return quickly when autoload disabled. */
if (no_autoload)
return FALSE;
/* 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);
if (p == NULL || p == name) if (p == NULL || p == name)