0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.2501: not always clear where an error is reported

Problem:    Not always clear where an error is reported.
Solution:   Add the where_T structure and pass it around. (closes #7796)
This commit is contained in:
Bram Moolenaar
2021-02-11 21:19:34 +01:00
parent 0bcadf14aa
commit f785aa1354
16 changed files with 146 additions and 59 deletions

View File

@@ -1299,8 +1299,9 @@ set_var_lval(
char_u *endp,
typval_T *rettv,
int copy,
int flags, // ASSIGN_CONST, ASSIGN_NO_DECL
char_u *op)
int flags, // ASSIGN_CONST, ASSIGN_NO_DECL
char_u *op,
int var_idx) // index for "let [a, b] = list"
{
int cc;
listitem_T *ri;
@@ -1390,9 +1391,10 @@ set_var_lval(
else
{
if (lp->ll_type != NULL
&& check_typval_type(lp->ll_type, rettv, 0) == FAIL)
&& check_typval_arg_type(lp->ll_type, rettv, 0) == FAIL)
return;
set_var_const(lp->ll_name, lp->ll_type, rettv, copy, flags);
set_var_const(lp->ll_name, lp->ll_type, rettv, copy,
flags, var_idx);
}
*endp = cc;
}
@@ -1471,7 +1473,7 @@ set_var_lval(
}
if (lp->ll_valtype != NULL
&& check_typval_type(lp->ll_valtype, rettv, 0) == FAIL)
&& check_typval_arg_type(lp->ll_valtype, rettv, 0) == FAIL)
return;
if (lp->ll_newkey != NULL)