Mercurial > vim
comparison src/scriptfile.c @ 21753:9ef7ae8ab51c v8.2.1426
patch 8.2.1426: Vim9: cannot call autoload function in :def function
Commit: https://github.com/vim/vim/commit/a177344dc0c337e5b272c1c59d13964a8318bcfa
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Aug 12 15:21:22 2020 +0200
patch 8.2.1426: Vim9: cannot call autoload function in :def function
Problem: Vim9: cannot call autoload function in :def function.
Solution: Load the autoload script. (closes https://github.com/vim/vim/issues/6690)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 12 Aug 2020 15:30:04 +0200 |
parents | 6c477989f9a4 |
children | 0deb6f96a5a3 |
comparison
equal
deleted
inserted
replaced
21752:6b6f91a7959d | 21753:9ef7ae8ab51c |
---|---|
1989 // Get the script file name: replace '#' with '/', append ".vim". | 1989 // Get the script file name: replace '#' with '/', append ".vim". |
1990 scriptname = alloc(STRLEN(name) + 14); | 1990 scriptname = alloc(STRLEN(name) + 14); |
1991 if (scriptname == NULL) | 1991 if (scriptname == NULL) |
1992 return NULL; | 1992 return NULL; |
1993 STRCPY(scriptname, "autoload/"); | 1993 STRCPY(scriptname, "autoload/"); |
1994 STRCAT(scriptname, name); | 1994 STRCAT(scriptname, name[0] == 'g' && name[1] == ':' ? name + 2: name); |
1995 for (p = scriptname + 9; (p = vim_strchr(p, AUTOLOAD_CHAR)) != NULL; | 1995 for (p = scriptname + 9; (p = vim_strchr(p, AUTOLOAD_CHAR)) != NULL; |
1996 q = p, ++p) | 1996 q = p, ++p) |
1997 *p = '/'; | 1997 *p = '/'; |
1998 STRCPY(q, ".vim"); | 1998 STRCPY(q, ".vim"); |
1999 return scriptname; | 1999 return scriptname; |