patch 8.0.0453: adding fold marker creates new comment

Problem:    Adding fold marker creates new comment.
Solution:   Use an existing comment if possible. (LemonBoy, closes #1549)
diff --git a/src/fold.c b/src/fold.c
index a186bef..826ad5c 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -1760,6 +1760,7 @@
     int		line_len;
     char_u	*newline;
     char_u	*p = (char_u *)strstr((char *)curbuf->b_p_cms, "%s");
+    int		line_is_comment = FALSE;
 
     /* Allocate a new line: old-line + 'cms'-start + marker + 'cms'-end */
     line = ml_get(lnum);
@@ -1767,11 +1768,16 @@
 
     if (u_save(lnum - 1, lnum + 1) == OK)
     {
+#if defined(FEAT_COMMENTS)
+	/* Check if the line ends with an unclosed comment */
+	(void)skip_comment(line, FALSE, FALSE, &line_is_comment);
+#endif
 	newline = alloc((unsigned)(line_len + markerlen + STRLEN(cms) + 1));
 	if (newline == NULL)
 	    return;
 	STRCPY(newline, line);
-	if (p == NULL)
+	/* Append the marker to the end of the line */
+	if (p == NULL || line_is_comment)
 	    vim_strncpy(newline + line_len, marker, markerlen);
 	else
 	{