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/normal.c b/src/normal.c
index 7bae34e..3012bf3 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -9079,8 +9079,13 @@
 		    beginline(BL_WHITE|BL_FIX);
 		break;
 
+	    case K_PS:	/* Bracketed paste works like "a"ppend, unless the
+			   cursor is in the first column, then it inserts. */
+		if (curwin->w_cursor.col == 0)
+		    break;
+		/*FALLTHROUGH*/
+
 	    case 'a':	/* "a"ppend is like "i"nsert on the next character. */
-	    case K_PS:	/* bracketed paste works like "a"ppend */
 #ifdef FEAT_VIRTUALEDIT
 		/* increment coladd when in virtual space, increment the
 		 * column otherwise, also to append after an unprintable char */
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()
diff --git a/src/version.c b/src/version.c
index 4dc4cd8..d7d3948 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    296,
+/**/
     295,
 /**/
     294,