mirror of
https://github.com/neovim/neovim.git
synced 2025-09-19 09:48:19 +00:00
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 vim/vim#5269)
cc4423ae13
This commit is contained in:
@@ -2151,6 +2151,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
||||
case CMD_leftabove:
|
||||
case CMD_let:
|
||||
case CMD_lockmarks:
|
||||
case CMD_lockvar:
|
||||
case CMD_lua:
|
||||
case CMD_match:
|
||||
case CMD_mzscheme:
|
||||
@@ -2179,6 +2180,7 @@ static char_u * do_one_cmd(char_u **cmdlinep,
|
||||
case CMD_tilde:
|
||||
case CMD_topleft:
|
||||
case CMD_unlet:
|
||||
case CMD_unlockvar:
|
||||
case CMD_verbose:
|
||||
case CMD_vertical:
|
||||
case CMD_wincmd:
|
||||
|
@@ -182,6 +182,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:')
|
||||
|
Reference in New Issue
Block a user