patch 8.1.0039: cannot easily delete lines in another buffer
Problem: Cannot easily delete lines in another buffer.
Solution: Add deletebufline().
diff --git a/src/testdir/test_bufline.vim b/src/testdir/test_bufline.vim
index b110c44..1f83e8b 100644
--- a/src/testdir/test_bufline.vim
+++ b/src/testdir/test_bufline.vim
@@ -1,4 +1,4 @@
-" Tests for setbufline(), getbufline(), appendbufline()
+" Tests for setbufline(), getbufline(), appendbufline(), deletebufline()
source shared.vim
@@ -90,3 +90,25 @@
call assert_equal([], getbufline(b, 6))
exe "bwipe! " . b
endfunc
+
+func Test_deletebufline()
+ new
+ let b = bufnr('%')
+ call setline(1, ['aaa', 'bbb', 'ccc'])
+ hide
+ call assert_equal(0, deletebufline(b, 2))
+ call assert_equal(['aaa', 'ccc'], getbufline(b, 1, 2))
+ call assert_equal(0, deletebufline(b, 2, 8))
+ call assert_equal(['aaa'], getbufline(b, 1, 2))
+ exe "bd!" b
+ call assert_equal(1, deletebufline(b, 1))
+
+ split Xtest
+ call setline(1, ['a', 'b', 'c'])
+ let b = bufnr('%')
+ wincmd w
+ call assert_equal(1, deletebufline(b, 4))
+ call assert_equal(0, deletebufline(b, 1))
+ call assert_equal(['b', 'c'], getbufline(b, 1, 2))
+ exe "bwipe! " . b
+endfunc