mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.3209: Vim9: lambda doesn't find block-local variable
Problem: Vim9: lambda doesn't find block-local variable. Solution: Adjust how a script-local variable is found. (closes #8614)
This commit is contained in:
@@ -339,6 +339,7 @@ find_script_var(char_u *name, size_t len, cctx_T *cctx)
|
||||
hashitem_T *hi;
|
||||
int cc;
|
||||
sallvar_T *sav;
|
||||
sallvar_T *found_sav;
|
||||
ufunc_T *ufunc;
|
||||
|
||||
// Find the list of all script variables with the right name.
|
||||
@@ -361,6 +362,7 @@ find_script_var(char_u *name, size_t len, cctx_T *cctx)
|
||||
// Go over the variables with this name and find one that was visible
|
||||
// from the function.
|
||||
ufunc = cctx->ctx_ufunc;
|
||||
found_sav = sav;
|
||||
while (sav != NULL)
|
||||
{
|
||||
int idx;
|
||||
@@ -373,7 +375,8 @@ find_script_var(char_u *name, size_t len, cctx_T *cctx)
|
||||
sav = sav->sav_next;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
// Not found, assume variable at script level was visible.
|
||||
return found_sav;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user