From: Bram Moolenaar Date: Tue, 26 Nov 2019 16:05:00 +0000 (+0100) Subject: patch 8.1.2349: :lockvar and :unlockvar cannot be followed by "| endif" X-Git-Tag: v8.1.2349 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cc4423ae13d78367a3d0b5756783523d3b3a1d31;p=vim 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 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 @@ -737,6 +737,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2349, /**/ 2348, /**/