patch 8.1.2349: :lockvar and :unlockvar cannot be followed by "| endif"
Problem: :lockvar and :unlockvar cannot be followed by "| endif".
Solution: Check for following commands. (closes #5269)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 576a756..ed7512f 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2384,6 +2384,7 @@
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 @@
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 8df34f4..7f95091 100644
--- a/src/testdir/test_const.vim
+++ b/src/testdir/test_const.vim
@@ -203,6 +203,20 @@
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 70df145..36e43a8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -738,6 +738,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2349,
+/**/
2348,
/**/
2347,