0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.3794: Vim9: cannot find script-local func using "s:"

Problem:    Vim9: cannot find script-local func using "s:". (Yegappan
            Lakshmanan)
Solution:   Skip the "s:".
This commit is contained in:
Bram Moolenaar
2021-12-13 11:31:04 +00:00
parent ef082e12df
commit 33b968dc60
3 changed files with 18 additions and 3 deletions

View File

@@ -1885,13 +1885,14 @@ find_func_even_dead(char_u *name, int is_global, cctx_T *cctx)
{
char_u *after_script = NULL;
long sid = 0;
int find_script_local = in_vim9script()
&& eval_isnamec1(*name) && name[1] != ':';
int find_script_local = in_vim9script() && eval_isnamec1(*name)
&& (name[1] != ':' || *name == 's');
if (find_script_local)
{
// Find script-local function before global one.
func = find_func_with_sid(name, current_sctx.sc_sid);
func = find_func_with_sid(name[0] == 's' && name[1] == ':'
? name + 2 : name, current_sctx.sc_sid);
if (func != NULL)
return func;
}