summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-10-13 19:43:17 +0200
committerBram Moolenaar <Bram@vim.org>2015-10-13 19:43:17 +0200
commitb4f6a46b01ed00b642a2271e9d1559e51ab0f2c4 (patch)
tree48ba58ed615bcd676e499527d938d97ac7bce09e
parent23d1b62746dce048c80cc19e7e5af1d513b6b4cf (diff)
patch 7.4.896v7.4.896
Problem: Editing a URL, which netrw should handle, doesn't work. Solution: Avoid changing slashes to backslashes. (Yasuhiro Matsumoto)
-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 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
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 896,
+/**/
895,
/**/
894,