patch 8.0.0296: bracketed paste can only append, not insert
Problem: Bracketed paste can only append, not insert.
Solution: When the cursor is in the first column insert the text.
diff --git a/src/testdir/test_paste.vim b/src/testdir/test_paste.vim
index 9961771..f5deb7d 100644
--- a/src/testdir/test_paste.vim
+++ b/src/testdir/test_paste.vim
@@ -8,18 +8,36 @@
func Test_paste_normal_mode()
new
+ " In first column text is inserted
call setline(1, ['a', 'b', 'c'])
- 2
+ call cursor(2, 1)
call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
- call assert_equal('bfoo', getline(2))
- call assert_equal('bar', getline(3))
+ call assert_equal('foo', getline(2))
+ call assert_equal('barb', getline(3))
call assert_equal('c', getline(4))
+ " When repeating text is appended
normal .
call assert_equal('barfoo', getline(3))
- call assert_equal('bar', getline(4))
+ call assert_equal('barb', getline(4))
call assert_equal('c', getline(5))
bwipe!
+
+ " In second column text is appended
+ call setline(1, ['a', 'bbb', 'c'])
+ call cursor(2, 2)
+ call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
+ call assert_equal('bbfoo', getline(2))
+ call assert_equal('barb', getline(3))
+ call assert_equal('c', getline(4))
+
+ " In last column text is appended
+ call setline(1, ['a', 'bbb', 'c'])
+ call cursor(2, 3)
+ call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
+ call assert_equal('bbbfoo', getline(2))
+ call assert_equal('bar', getline(3))
+ call assert_equal('c', getline(4))
endfunc
func Test_paste_insert_mode()