summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fileio.c5
-rw-r--r--src/os_mswin.c3
-rw-r--r--src/version.c2
3 files changed, 9 insertions, 1 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 0f3f148b9..20c029498 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7547,7 +7547,8 @@ vim_tempname(extra_char, keep)
#if defined(BACKSLASH_IN_FILENAME) || defined(PROTO)
/*
- * Convert all backslashes in fname to forward slashes in-place.
+ * Convert all backslashes in fname to forward slashes in-place, unless when
+ * it looks like a URL.
*/
void
forward_slash(fname)
@@ -7555,6 +7556,8 @@ forward_slash(fname)
{
char_u *p;
+ if (path_with_url(fname))
+ return;
for (p = fname; *p != NUL; ++p)
# ifdef FEAT_MBYTE
/* The Big5 encoding can have '\' in the trail byte. */
diff --git a/src/os_mswin.c b/src/os_mswin.c
index b50b86c88..daf71a304 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -481,11 +481,14 @@ mch_isFullName(char_u *fname)
* commands that use a file name should try to avoid the need to type a
* backslash twice.
* When 'shellslash' set do it the other way around.
+ * When the path looks like a URL leave it unmodified.
*/
void
slash_adjust(p)
char_u *p;
{
+ if (path_with_url(p))
+ return;
while (*p)
{
if (*p == psepcN)
diff --git a/src/version.c b/src/version.c
index 746b62959..83bfe2b08 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 896,
+/**/
895,
/**/
894,