diff --git a/src/fileio.c b/src/fileio.c index 0f3f148b9b..20c0294988 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 b50b86c888..daf71a304d 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 746b62959b..83bfe2b08e 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 896, /**/ 895, /**/