patch 8.1.0570: 'commentstring' not used when adding fold marker

Problem:    'commentstring' not used when adding fold marker. (Maxim Kim)
Solution:   Only use empty 'comments' middle when leader is empty. (Christian
            Brabandt, closes #3670)
diff --git a/src/misc1.c b/src/misc1.c
index b1cc215..d8e7e1a 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -1993,6 +1993,7 @@
 	for (list = curbuf->b_p_com; *list; )
 	{
 	    char_u *flags_save = list;
+	    int	    is_only_whitespace = FALSE;
 
 	    /*
 	     * Get one option part into part_buf[].  Advance list to next one.
@@ -2018,8 +2019,10 @@
 	    {
 		if (i == 0 || !VIM_ISWHITE(line[i - 1]))
 		    continue;
-		while (VIM_ISWHITE(string[0]))
+		while (VIM_ISWHITE(*string))
 		    ++string;
+		if (*string == NUL)
+		    is_only_whitespace = TRUE;
 	    }
 	    for (j = 0; string[j] != NUL && string[j] == line[i + j]; ++j)
 		/* do nothing */;
@@ -2032,8 +2035,17 @@
 	     */
 	    if (vim_strchr(part_buf, COM_BLANK) != NULL
 		    && !VIM_ISWHITE(line[i + j]) && line[i + j] != NUL)
-	    {
 		continue;
+
+	    // For a middlepart comment that is only white space, only consider
+	    // it to match if everything before the current position in the
+	    // line is also whitespace.
+	    if (is_only_whitespace && vim_strchr(part_buf, COM_MIDDLE) != NULL)
+	    {
+		for (j = 0; VIM_ISWHITE(line[j]) && j <= i; j++)
+		    ;
+		if (j < i)
+		    continue;
 	    }
 
 	    /*