forked from aniani/vim
patch 8.1.1639: changing an autoload name into a file name is inefficient
Problem: Changing an autoload name into a script file name is inefficient. Solution: Remember the last replaced #. (Ozaki Kiichi, closes #4618)
This commit is contained in:
parent
3940ec6d41
commit
28fc247f8d
11
src/eval.c
11
src/eval.c
@ -9219,23 +9219,24 @@ find_option_end(char_u **arg, int *opt_flags)
|
||||
/*
|
||||
* Return the autoload script name for a function or variable name.
|
||||
* Returns NULL when out of memory.
|
||||
* Caller must make sure that "name" contains AUTOLOAD_CHAR.
|
||||
*/
|
||||
char_u *
|
||||
autoload_name(char_u *name)
|
||||
{
|
||||
char_u *p;
|
||||
char_u *p, *q = NULL;
|
||||
char_u *scriptname;
|
||||
|
||||
/* Get the script file name: replace '#' with '/', append ".vim". */
|
||||
// Get the script file name: replace '#' with '/', append ".vim".
|
||||
scriptname = alloc(STRLEN(name) + 14);
|
||||
if (scriptname == NULL)
|
||||
return FALSE;
|
||||
STRCPY(scriptname, "autoload/");
|
||||
STRCAT(scriptname, name);
|
||||
*vim_strrchr(scriptname, AUTOLOAD_CHAR) = NUL;
|
||||
STRCAT(scriptname, ".vim");
|
||||
while ((p = vim_strchr(scriptname, AUTOLOAD_CHAR)) != NULL)
|
||||
for (p = scriptname + 9; (p = vim_strchr(p, AUTOLOAD_CHAR)) != NULL;
|
||||
q = p, ++p)
|
||||
*p = '/';
|
||||
STRCPY(q, ".vim");
|
||||
return scriptname;
|
||||
}
|
||||
|
||||
|
@ -777,6 +777,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1639,
|
||||
/**/
|
||||
1638,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user