From 99499b1c05f85f83876b828eea3f6e14f0f407b4 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 23 May 2019 21:35:48 +0200 Subject: patch 8.1.1371: cannot recover from a swap file Problem: Cannot recover from a swap file. Solution: Do not expand environment variables in the swap file name. Do not check the extension when we already know a file is a swap file. (Ken Takata, closes 4415, closes #4369) --- src/spell.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/spell.c') diff --git a/src/spell.c b/src/spell.c index 8f32fd7c3..fbe20802c 100644 --- a/src/spell.c +++ b/src/spell.c @@ -2343,7 +2343,7 @@ did_set_spelllang(win_T *wp) /* Check if we loaded this language before. */ for (slang = first_lang; slang != NULL; slang = slang->sl_next) - if (fullpathcmp(lang, slang->sl_fname, FALSE) == FPC_SAME) + if (fullpathcmp(lang, slang->sl_fname, FALSE, TRUE) == FPC_SAME) break; } else @@ -2395,7 +2395,8 @@ did_set_spelllang(win_T *wp) * Loop over the languages, there can be several files for "lang". */ for (slang = first_lang; slang != NULL; slang = slang->sl_next) - if (filename ? fullpathcmp(lang, slang->sl_fname, FALSE) == FPC_SAME + if (filename ? fullpathcmp(lang, slang->sl_fname, FALSE, TRUE) + == FPC_SAME : STRICMP(lang, slang->sl_name) == 0) { region_mask = REGION_ALL; @@ -2463,7 +2464,8 @@ did_set_spelllang(win_T *wp) for (c = 0; c < ga.ga_len; ++c) { p = LANGP_ENTRY(ga, c)->lp_slang->sl_fname; - if (p != NULL && fullpathcmp(spf_name, p, FALSE) == FPC_SAME) + if (p != NULL && fullpathcmp(spf_name, p, FALSE, TRUE) + == FPC_SAME) break; } if (c < ga.ga_len) @@ -2472,7 +2474,8 @@ did_set_spelllang(win_T *wp) /* Check if it was loaded already. */ for (slang = first_lang; slang != NULL; slang = slang->sl_next) - if (fullpathcmp(spf_name, slang->sl_fname, FALSE) == FPC_SAME) + if (fullpathcmp(spf_name, slang->sl_fname, FALSE, TRUE) + == FPC_SAME) break; if (slang == NULL) { -- cgit v1.2.1