mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
vim-patch:7.4.896
Problem: Editing a URL, which netrw should handle, doesn't work.
Solution: Avoid changing slashes to backslashes. (Yasuhiro Matsumoto)
b4f6a46b01
Cherry-picked from https://github.com/neovim/neovim/pull/810, rebased.
This commit is contained in:

committed by
KillTheMule

parent
b02ba11cb1
commit
24dac220d3
@@ -5097,13 +5097,15 @@ void write_lnum_adjust(linenr_T offset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if defined(BACKSLASH_IN_FILENAME)
|
#if defined(BACKSLASH_IN_FILENAME)
|
||||||
/*
|
/// 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(char_u *fname)
|
void forward_slash(char_u *fname)
|
||||||
{
|
{
|
||||||
char_u *p;
|
char_u *p;
|
||||||
|
|
||||||
|
if (path_with_url(fname)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
for (p = fname; *p != NUL; ++p)
|
for (p = fname; *p != NUL; ++p)
|
||||||
/* The Big5 encoding can have '\' in the trail byte. */
|
/* The Big5 encoding can have '\' in the trail byte. */
|
||||||
if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1)
|
if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1)
|
||||||
|
@@ -46,6 +46,8 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define BACKSLASH_IN_FILENAME
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
typedef SSIZE_T ssize_t;
|
typedef SSIZE_T ssize_t;
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1284,6 +1284,29 @@ static int expand_backtick(
|
|||||||
return cnt;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef BACKSLASH_IN_FILENAME
|
||||||
|
/// Replace all slashes by backslashes.
|
||||||
|
/// This used to be the other way around, but MS-DOS sometimes has problems
|
||||||
|
/// with slashes (e.g. in a command name). We can't have mixed slashes and
|
||||||
|
/// backslashes, because comparing file names will not work correctly. The
|
||||||
|
/// 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(char_u *p)
|
||||||
|
{
|
||||||
|
if (path_with_url(p)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
while (*p) {
|
||||||
|
if (*p == psepcN) {
|
||||||
|
*p = psepc;
|
||||||
|
}
|
||||||
|
mb_ptr_adv(p);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Add a file to a file list. Accepted flags:
|
// Add a file to a file list. Accepted flags:
|
||||||
// EW_DIR add directories
|
// EW_DIR add directories
|
||||||
// EW_FILE add files
|
// EW_FILE add files
|
||||||
|
@@ -782,7 +782,7 @@ static int included_patches[] = {
|
|||||||
// 899 NA
|
// 899 NA
|
||||||
898,
|
898,
|
||||||
// 897 NA
|
// 897 NA
|
||||||
// 896,
|
896,
|
||||||
895,
|
895,
|
||||||
// 894 NA
|
// 894 NA
|
||||||
893,
|
893,
|
||||||
|
Reference in New Issue
Block a user