Merge pull request #4695 from KillTheMule/vim-7.4.896

vim-patch:7.4.896
This commit is contained in:
Justin M. Keyes
2016-05-10 01:31:55 -04:00
4 changed files with 38 additions and 9 deletions

View File

@@ -5097,19 +5097,23 @@ 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;
for (p = fname; *p != NUL; ++p) if (path_with_url(fname)) {
/* The Big5 encoding can have '\' in the trail byte. */ return;
if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1) }
++p; for (p = fname; *p != NUL; p++) {
else if (*p == '\\') // The Big5 encoding can have '\' in the trail byte.
if (enc_dbcs != 0 && (*mb_ptr2len)(p) > 1) {
p++;
} else if (*p == '\\') {
*p = '/'; *p = '/';
}
}
} }
#endif #endif

View File

@@ -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

View File

@@ -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

View File

@@ -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,