diff options
-rw-r--r-- | src/eval.c | 11 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/src/eval.c b/src/eval.c index f622b6f3f..26fad0c5f 100644 --- a/src/eval.c +++ b/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; } diff --git a/src/version.c b/src/version.c index c835eeee5..25c6076b0 100644 --- a/src/version.c +++ b/src/version.c @@ -778,6 +778,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1639, +/**/ 1638, /**/ 1637, |