aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/eval.c10
-rw-r--r--src/nvim/testdir/test_let.vim8
2 files changed, 14 insertions, 4 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index fd37e1001a..71ffb26cc2 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -1675,10 +1675,12 @@ static void ex_let_const(exarg_T *eap, const bool is_const)
list_T *l = heredoc_get(eap, expr + 3);
if (l != NULL) {
tv_list_set_ret(&rettv, l);
- op[0] = '=';
- op[1] = NUL;
- (void)ex_let_vars(eap->arg, &rettv, false, semicolon, var_count,
- is_const, op);
+ if (!eap->skip) {
+ op[0] = '=';
+ op[1] = NUL;
+ (void)ex_let_vars(eap->arg, &rettv, false, semicolon, var_count,
+ is_const, op);
+ }
tv_clear(&rettv);
}
} else {
diff --git a/src/nvim/testdir/test_let.vim b/src/nvim/testdir/test_let.vim
index b5af871ab2..1fce3d6937 100644
--- a/src/nvim/testdir/test_let.vim
+++ b/src/nvim/testdir/test_let.vim
@@ -276,4 +276,12 @@ E
app
END
call assert_equal(['something', 'app'], var1)
+
+ let check = []
+ if 0
+ let check =<< trim END
+ from heredoc
+ END
+ endif
+ call assert_equal([], check)
endfunc