summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-02-16 16:20:21 +0100
committerBram Moolenaar <Bram@vim.org>2020-02-16 16:20:21 +0100
commita76b31542e1d83b7d2fe7378439912e800a4d0f6 (patch)
treefc21552fe944ef502c71d083fa15602180b49c7c
parenta36c830a32f439b862ffb85d4c4b4799ee5ea2f9 (diff)
patch 8.2.0265: "eval" after "if 0" doesn't check for following commandv8.2.0265
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)
-rw-r--r--src/ex_docmd.c1
-rw-r--r--src/testdir/test_expr.vim9
-rw-r--r--src/version.c2
3 files changed, 12 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 659af19111..a819f64888 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2375,6 +2375,7 @@ do_one_cmd(
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 bd9cacafa2..1281ae72f8 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -530,3 +530,12 @@ func Test_broken_number()
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 dc849eb45e..da0b2f61c0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 265,
+/**/
264,
/**/
263,