patch 8.2.0265: "eval" after "if 0" doesn't check for following command
Problem: "eval" after "if 0" doesn't check for following command.
Solution: Add "eval" to list of commands that check for a following command.
(closes #5640)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 659af19..a819f64 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2375,6 +2375,7 @@
case CMD_echoerr:
case CMD_echomsg:
case CMD_echon:
+ case CMD_eval:
case CMD_execute:
case CMD_filter:
case CMD_help:
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index bd9caca..1281ae7 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -530,3 +530,12 @@
call assert_equal(2, str2nr('2a'))
call assert_fails('inoremap <Char-0b1z> b', 'E474:')
endfunc
+
+func Test_eval_after_if()
+ let s:val = ''
+ func SetVal(x)
+ let s:val ..= a:x
+ endfunc
+ if 0 | eval SetVal('a') | endif | call SetVal('b')
+ call assert_equal('b', s:val)
+endfunc
diff --git a/src/version.c b/src/version.c
index dc849eb..da0b2f6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 265,
+/**/
264,
/**/
263,