mirror of
https://github.com/vim/vim.git
synced 2025-10-28 09:27:14 -04:00
patch 8.2.2921: E704 for script local variable is not backwards compatible
Problem: E704 for script local variable is not backwards compatible.
(Yasuhiro Matsumoto)
Solution: Only give the error in Vim9 script. Also check for function-local
variable.
This commit is contained in:
@@ -352,8 +352,9 @@ dict_copy(dict_T *orig, int deep, int copyID)
|
||||
dict_wrong_func_name(dict_T *d, typval_T *tv, char_u *name)
|
||||
{
|
||||
return (d == get_globvar_dict()
|
||||
|| (SCRIPT_ID_VALID(current_sctx.sc_sid)
|
||||
&& d == &SCRIPT_ITEM(current_sctx.sc_sid)->sn_vars->sv_dict))
|
||||
|| (in_vim9script() && SCRIPT_ID_VALID(current_sctx.sc_sid)
|
||||
&& d == &SCRIPT_ITEM(current_sctx.sc_sid)->sn_vars->sv_dict)
|
||||
|| &d->dv_hashtab == get_funccal_local_ht())
|
||||
&& (tv->v_type == VAR_FUNC || tv->v_type == VAR_PARTIAL)
|
||||
&& var_wrong_func_name(name, TRUE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user