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

patch 8.2.3216: Vim9: crash when using variable in a loop at script level

Problem:    Vim9: crash when using variable in a loop at script level.
Solution:   Do not clear the variable if a function was defined.
            Do not create a new entry in sn_var_vals every time.
            (closes #8628)
This commit is contained in:
Bram Moolenaar
2021-07-25 14:13:53 +02:00
parent 5bca906b30
commit 2eb6fc3b52
8 changed files with 136 additions and 77 deletions

View File

@@ -146,10 +146,14 @@ fill_evalarg_from_eap(evalarg_T *evalarg, exarg_T *eap, int skip)
{
CLEAR_FIELD(*evalarg);
evalarg->eval_flags = skip ? 0 : EVAL_EVALUATE;
if (eap != NULL && getline_equal(eap->getline, eap->cookie, getsourceline))
if (eap != NULL)
{
evalarg->eval_getline = eap->getline;
evalarg->eval_cookie = eap->cookie;
evalarg->eval_cstack = eap->cstack;
if (getline_equal(eap->getline, eap->cookie, getsourceline))
{
evalarg->eval_getline = eap->getline;
evalarg->eval_cookie = eap->cookie;
}
}
}