summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/filepath.c5
-rw-r--r--src/version.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/src/filepath.c b/src/filepath.c
index 81fe74924b..8e54e5bcf8 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -3360,7 +3360,10 @@ dos_expandpath(
if (p == NULL)
break; // out of memory
- if (*wfb.cAlternateFileName == NUL)
+ // Do not use the alternate filename when the file name ends in '~',
+ // because it picks up backup files: short name for "foo.vim~" is
+ // "foo~1.vim", which matches "*.vim".
+ if (*wfb.cAlternateFileName == NUL || p[STRLEN(p) - 1] == '~')
p_alt = NULL;
else
p_alt = utf16_to_enc(wfb.cAlternateFileName, NULL);
diff --git a/src/version.c b/src/version.c
index 7a91c9bae8..ae61a32c86 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2478,
+/**/
2477,
/**/
2476,