vim-patch:8.2.1079: Vim9: no line break allowed in a while loop

Problem:    Vim9: no line break allowed in a while loop.
Solution:   Update stored loop lines when finding line breaks.

d5053d015a

Omit getline_peek(): Vim9 script only.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq
2023-04-14 13:38:14 +08:00
parent e99f28e57d
commit 4b84b2e2aa
4 changed files with 45 additions and 31 deletions

View File

@@ -705,8 +705,11 @@ int eval_to_bool(char *arg, bool *error, exarg_T *eap, int skip)
evalarg_T evalarg = {
.eval_flags = skip ? 0 : EVAL_EVALUATE,
.eval_cookie = eap != NULL && eap->getline == getsourceline ? eap->cookie : NULL,
};
if (eap != NULL && getline_equal(eap->getline, eap->cookie, getsourceline)) {
evalarg.eval_getline = eap->getline;
evalarg.eval_cookie = eap->cookie;
}
if (skip) {
emsg_skip++;
@@ -7461,8 +7464,11 @@ void ex_echo(exarg_T *eap)
evalarg_T evalarg = {
.eval_flags = eap->skip ? 0 : EVAL_EVALUATE,
.eval_cookie = eap->getline == getsourceline ? eap->cookie : NULL,
};
if (getline_equal(eap->getline, eap->cookie, getsourceline)) {
evalarg.eval_getline = eap->getline;
evalarg.eval_cookie = eap->cookie;
}
if (eap->skip) {
emsg_skip++;