patch 8.2.4908: no text formatting for // comment after a statement

Problem:    No text formatting for // comment after a statement.
Solution:   format a comment when the 'c' flag is in 'formatoptions'.
diff --git a/src/testdir/test_textformat.vim b/src/testdir/test_textformat.vim
index 79e282e..9630e8d 100644
--- a/src/testdir/test_textformat.vim
+++ b/src/testdir/test_textformat.vim
@@ -342,6 +342,18 @@
   END
   call assert_equal(expected, getline(1, '$'))
 
+  " typing comment text auto-wraps
+  %del
+  call setline(1, text)
+  exe "normal! 2GA blah more text blah.\<Esc>"
+  let expected =<< trim END
+      {
+         val = val;      // This is a comment
+                         // blah more text
+                         // blah.
+  END
+  call assert_equal(expected, getline(1, '$'))
+
   bwipe!
 endfunc
 
diff --git a/src/textformat.c b/src/textformat.c
index fd0d31d..826726b 100644
--- a/src/textformat.c
+++ b/src/textformat.c
@@ -104,7 +104,27 @@
 
 	// Don't break until after the comment leader
 	if (do_comments)
-	    leader_len = get_leader_len(ml_get_curline(), NULL, FALSE, TRUE);
+	{
+	    char_u *line = ml_get_curline();
+
+	    leader_len = get_leader_len(line, NULL, FALSE, TRUE);
+#ifdef FEAT_CINDENT
+	    if (leader_len == 0 && curbuf->b_p_cin)
+	    {
+		int		comment_start;
+
+		// Check for a line comment after code.
+		comment_start = check_linecomment(line);
+		if (comment_start != MAXCOL)
+		{
+		    leader_len = get_leader_len(
+				      line + comment_start, NULL, FALSE, TRUE);
+		    if (leader_len != 0)
+			leader_len += comment_start;
+		}
+	    }
+#endif
+	}
 	else
 	    leader_len = 0;
 
diff --git a/src/version.c b/src/version.c
index f53be12..1eb14d0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4908,
+/**/
     4907,
 /**/
     4906,