patch 8.2.0308: 'showbreak' does not work for a very long line

Problem:    'showbreak' does not work for a very long line. (John Little)
Solution:   Check whether 'briopt' contains "sbr". (Ken Takata, closes #5523,
            closes #5684)
diff --git a/src/drawline.c b/src/drawline.c
index 176aa69..b581411 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1176,7 +1176,7 @@
 		    c_final = NUL;
 		    n_extra = get_breakindent_win(wp,
 				       ml_get_buf(wp->w_buffer, lnum, FALSE));
-		    if (wp->w_skipcol > 0 && wp->w_p_wrap)
+		    if (wp->w_skipcol > 0 && wp->w_p_wrap && wp->w_p_brisbr)
 			need_showbreak = FALSE;
 		    // Correct end of highlighted area for 'breakindent',
 		    // required when 'linebreak' is also set.
diff --git a/src/testdir/test_breakindent.vim b/src/testdir/test_breakindent.vim
index 6e4e090..ad4ae1d 100644
--- a/src/testdir/test_breakindent.vim
+++ b/src/testdir/test_breakindent.vim
@@ -682,5 +682,15 @@
 	\ "> aaaaaaaaaaaaaaaaaa",
 	\ ]
   call s:compare_lines(expect, lines)
+
+  setl breakindent briopt=min:18 sbr=>
+  norm! 5gj
+  let lines = s:screen_lines(1, 20)
+  let expect = [
+	\ ">aaaaaaaaaaaaaaaaaaa",
+	\ ">aaaaaaaaaaaaaaaaaaa",
+	\ ">aaaaaaaaaaaaaaaaaaa",
+	\ ]
+  call s:compare_lines(expect, lines)
   call s:close_windows('set breakindent& briopt& sbr&')
 endfunc
diff --git a/src/version.c b/src/version.c
index 373eb16..db00344 100644
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    308,
+/**/
     307,
 /**/
     306,