patch 8.1.1769: 'shellslash' is also used for completion

Problem:    'shellslash' is also used for completion.
Solution:   Add the 'completeslash' option. (Yasuhiro Matsumoto, closes #3612)
diff --git a/src/insexpand.c b/src/insexpand.c
index fe475a5..4245800 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -2669,6 +2669,26 @@
 
 		// May change home directory back to "~".
 		tilde_replace(compl_pattern, num_matches, matches);
+#ifdef BACKSLASH_IN_FILENAME
+		if (curbuf->b_p_csl[0] != NUL)
+		{
+		    int	    i;
+
+		    for (i = 0; i < num_matches; ++i)
+		    {
+			char_u	*ptr = matches[i];
+
+			while (*ptr != NUL)
+			{
+			    if (curbuf->b_p_csl[0] == 's' && *ptr == '\\')
+				*ptr = '/';
+			    else if (curbuf->b_p_csl[0] == 'b' && *ptr == '/')
+				*ptr = '\\';
+			    ptr += (*mb_ptr2len)(ptr);
+			}
+		    }
+		}
+#endif
 		ins_compl_add_matches(num_matches, matches, p_fic || p_wic);
 	    }
 	    break;