summaryrefslogtreecommitdiffstats
path: root/src/evalvars.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-06-28 15:51:16 +0200
committerBram Moolenaar <Bram@vim.org>2020-06-28 15:51:16 +0200
commitd5053d015a957b343ad9c9e45e0abd2978f10cf0 (patch)
tree4154d4cd881536a310adec7425bcb9e1c05da85d /src/evalvars.c
parent06cf97e714fd8bf9b35ff5f8a6f2302c79acdd03 (diff)
patch 8.2.1079: Vim9: no line break allowed in a while loopv8.2.1079
Problem: Vim9: no line break allowed in a while loop. Solution: Update stored loop lines when finding line breaks.
Diffstat (limited to 'src/evalvars.c')
-rw-r--r--src/evalvars.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/evalvars.c b/src/evalvars.c
index 1d6172ac7c..901d406a00 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -799,8 +799,11 @@ ex_let(exarg_T *eap)
++emsg_skip;
CLEAR_FIELD(evalarg);
evalarg.eval_flags = eap->skip ? 0 : EVAL_EVALUATE;
- evalarg.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;
+ }
i = eval0(expr, &rettv, eap, &evalarg);
if (eap->skip)
--emsg_skip;