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;