# HG changeset patch # User Christian Brabandt # Date 1444758305 -7200 # Node ID beb67ef38f8838c2e443ed58dc08b8e8e5563ba6 # Parent afceb127f7d45715000fbb27cb3b8d81479530e5 commit https://github.com/vim/vim/commit/b4f6a46b01ed00b642a2271e9d1559e51ab0f2c4 Author: Bram Moolenaar Date: Tue Oct 13 19:43:17 2015 +0200 patch 7.4.896 Problem: Editing a URL, which netrw should handle, doesn't work. Solution: Avoid changing slashes to backslashes. (Yasuhiro Matsumoto) diff --git a/src/fileio.c b/src/fileio.c --- 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 --- 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 --- 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,