summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-11-26 17:05:00 +0100
committerBram Moolenaar <Bram@vim.org>2019-11-26 17:05:00 +0100
commitcc4423ae13d78367a3d0b5756783523d3b3a1d31 (patch)
tree771301a581eaf21d3dadd8c4d2fb90f7ab540ef4
parent8f76e6b12b958f2779444a92234bbaf3f49eeb99 (diff)
downloadvim-git-cc4423ae13d78367a3d0b5756783523d3b3a1d31.tar.gz
patch 8.1.2349: :lockvar and :unlockvar cannot be followed by "| endif"v8.1.2349
Problem: :lockvar and :unlockvar cannot be followed by "| endif". Solution: Check for following commands. (closes #5269)
-rw-r--r--src/ex_docmd.c2
-rw-r--r--src/testdir/test_const.vim14
-rw-r--r--src/version.c2
3 files changed, 18 insertions, 0 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 576a75674..ed7512f76 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2384,6 +2384,7 @@ do_one_cmd(
case CMD_leftabove:
case CMD_let:
case CMD_lockmarks:
+ case CMD_lockvar:
case CMD_lua:
case CMD_match:
case CMD_mzscheme:
@@ -2408,6 +2409,7 @@ do_one_cmd(
case CMD_tilde:
case CMD_topleft:
case CMD_unlet:
+ case CMD_unlockvar:
case CMD_verbose:
case CMD_vertical:
case CMD_wincmd:
diff --git a/src/testdir/test_const.vim b/src/testdir/test_const.vim
index 8df34f4ad..7f950910b 100644
--- a/src/testdir/test_const.vim
+++ b/src/testdir/test_const.vim
@@ -203,6 +203,20 @@ func Test_const_with_condition()
call assert_equal(0, x)
endfunc
+func Test_lockvar()
+ let x = 'hello'
+ lockvar x
+ call assert_fails('let x = "there"', 'E741')
+ if 0 | unlockvar x | endif
+ call assert_fails('let x = "there"', 'E741')
+ unlockvar x
+ let x = 'there'
+
+ if 0 | lockvar x | endif
+ let x = 'again'
+endfunc
+
+
func Test_const_with_index_access()
let l = [1, 2, 3]
call assert_fails('const l[0] = 4', 'E996:')
diff --git a/src/version.c b/src/version.c
index 70df14512..36e43a849 100644
--- a/src/version.c
+++ b/src/version.c
@@ -738,6 +738,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2349,
+/**/
2348,
/**/
2347,