summaryrefslogtreecommitdiff
path: root/src/filepath.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-02-07 14:01:35 +0100
committerBram Moolenaar <Bram@vim.org>2021-02-07 14:01:35 +0100
commit0dc5f603e9b86da9fe5798c231d8d6170501516e (patch)
tree2ff7a0a63eabcf44e7f4c4ea3b580e77745d8069 /src/filepath.c
parentdd07c02232e91ee963b91a4477179d4b9548b862 (diff)
downloadvim-git-0dc5f603e9b86da9fe5798c231d8d6170501516e.tar.gz
patch 8.2.2478: MS-Windows: backup files for plugins are loadedv8.2.2478
Problem: MS-Windows: backup files for plugins are loaded. Solution: Do not use the alternate file name for files ending in "~".
Diffstat (limited to 'src/filepath.c')
-rw-r--r--src/filepath.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/filepath.c b/src/filepath.c
index 81fe74924..8e54e5bcf 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);