aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-04-14 13:38:14 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-04-14 16:10:09 +0800
commit4b84b2e2aa3d7ab6a4e346c7439826700682f5f1 (patch)
tree375334bffd4ce6f59b0dbbac65ced8fbf97ea186 /src/nvim/eval.c
parente99f28e57d69cfa1bd38ab531a0954f4f875ca47 (diff)
downloadrneovim-4b84b2e2aa3d7ab6a4e346c7439826700682f5f1.tar.gz
rneovim-4b84b2e2aa3d7ab6a4e346c7439826700682f5f1.tar.bz2
rneovim-4b84b2e2aa3d7ab6a4e346c7439826700682f5f1.zip
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. https://github.com/vim/vim/commit/d5053d015a957b343ad9c9e45e0abd2978f10cf0 Omit getline_peek(): Vim9 script only. Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index a79a464860..e5193cdfb8 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -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++;