mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.1.0798: changing a blob while iterating over it works strangely
Problem: Changing a blob while iterating over it works strangely. Solution: Make a copy of the Blob before iterating.
This commit is contained in:
@@ -154,6 +154,7 @@ func Test_blob_for_loop()
|
||||
call assert_equal(i, byte)
|
||||
let i += 1
|
||||
endfor
|
||||
call assert_equal(4, i)
|
||||
|
||||
let blob = 0z00
|
||||
call remove(blob, 0)
|
||||
@@ -161,6 +162,19 @@ func Test_blob_for_loop()
|
||||
for byte in blob
|
||||
call assert_error('loop over empty blob')
|
||||
endfor
|
||||
|
||||
let blob = 0z0001020304
|
||||
let i = 0
|
||||
for byte in blob
|
||||
call assert_equal(i, byte)
|
||||
if i == 1
|
||||
call remove(blob, 0)
|
||||
elseif i == 3
|
||||
call remove(blob, 3)
|
||||
endif
|
||||
let i += 1
|
||||
endfor
|
||||
call assert_equal(5, i)
|
||||
endfunc
|
||||
|
||||
func Test_blob_concatenate()
|
||||
|
Reference in New Issue
Block a user