mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
patch 8.2.1395: Vim9: no error if declaring a funcref with lower case letter
Problem: Vim9: no error if declaring a funcref with a lower case letter. Solution: Check the name after the type is inferred. Fix confusing name.
This commit is contained in:
@@ -5515,7 +5515,8 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx)
|
||||
}
|
||||
|
||||
// new local variable
|
||||
if (type->tt_type == VAR_FUNC && var_check_func_name(name, TRUE))
|
||||
if ((type->tt_type == VAR_FUNC || type->tt_type == VAR_PARTIAL)
|
||||
&& var_wrong_func_name(name, TRUE))
|
||||
goto theend;
|
||||
lvar = reserve_local(cctx, var_start, varlen,
|
||||
cmdidx == CMD_const, type);
|
||||
@@ -5624,6 +5625,12 @@ compile_assignment(char_u *arg, exarg_T *eap, cmdidx_T cmdidx, cctx_T *cctx)
|
||||
emsg(_(e_cannot_use_void));
|
||||
goto theend;
|
||||
}
|
||||
else if ((stacktype->tt_type == VAR_FUNC
|
||||
|| stacktype->tt_type == VAR_PARTIAL)
|
||||
&& var_wrong_func_name(name, TRUE))
|
||||
{
|
||||
goto theend;
|
||||
}
|
||||
else
|
||||
{
|
||||
// An empty list or dict has a &t_void member,
|
||||
|
Reference in New Issue
Block a user