mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.2.3284: no error for insert() or remove() changing a locked blob
Problem: No error for insert() or remove() changing a locked blob. Solution: Check a blob is not locked before changing it. (Sean Dewar, closes #8696)
This commit is contained in:
committed by
Bram Moolenaar
parent
0eec851942
commit
80d7395dcf
@@ -428,6 +428,23 @@ func Test_blob_func_remove()
|
||||
call remove(test_null_blob(), 1, 2)
|
||||
END
|
||||
call CheckLegacyAndVim9Failure(lines, 'E979:')
|
||||
|
||||
let lines =<< trim END
|
||||
let b = 0zDEADBEEF
|
||||
lockvar b
|
||||
call remove(b, 0)
|
||||
unlockvar b
|
||||
END
|
||||
call CheckScriptFailure(lines, 'E741:')
|
||||
|
||||
" can only check at script level, not in a :def function
|
||||
let lines =<< trim END
|
||||
vim9script
|
||||
var b = 0zDEADBEEF
|
||||
lockvar b
|
||||
remove(b, 0)
|
||||
END
|
||||
call CheckScriptFailure(lines, 'E741:')
|
||||
endfunc
|
||||
|
||||
func Test_blob_read_write()
|
||||
@@ -543,6 +560,22 @@ func Test_blob_insert()
|
||||
insert(test_null_blob(), 0x33)
|
||||
END
|
||||
call CheckDefExecAndScriptFailure(lines, 'E1131:')
|
||||
|
||||
let lines =<< trim END
|
||||
let b = 0zDEADBEEF
|
||||
lockvar b
|
||||
call insert(b, 3)
|
||||
unlockvar b
|
||||
END
|
||||
call CheckScriptFailure(lines, 'E741:')
|
||||
|
||||
let lines =<< trim END
|
||||
vim9script
|
||||
var b = 0zDEADBEEF
|
||||
lockvar b
|
||||
insert(b, 3)
|
||||
END
|
||||
call CheckScriptFailure(lines, 'E741:')
|
||||
endfunc
|
||||
|
||||
func Test_blob_reverse()
|
||||
|
Reference in New Issue
Block a user