1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar
2019-05-23 21:35:48 +02:00
parent 05b8b07e27
commit 99499b1c05
18 changed files with 168 additions and 64 deletions

View File

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