comparison src/spell.c @ 16738:b52ea9c5f1db v8.1.1371

patch 8.1.1371: cannot recover from a swap file commit https://github.com/vim/vim/commit/99499b1c05f85f83876b828eea3f6e14f0f407b4 Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 23 21:35:48 2019 +0200 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)
author Bram Moolenaar <Bram@vim.org>
date Thu, 23 May 2019 21:45:07 +0200
parents 7e733046db1d
children ef00b6bc186b
comparison
equal deleted inserted replaced
16737:e56018f01ba7 16738:b52ea9c5f1db
2341 else 2341 else
2342 dont_use_region = TRUE; 2342 dont_use_region = TRUE;
2343 2343
2344 /* Check if we loaded this language before. */ 2344 /* Check if we loaded this language before. */
2345 for (slang = first_lang; slang != NULL; slang = slang->sl_next) 2345 for (slang = first_lang; slang != NULL; slang = slang->sl_next)
2346 if (fullpathcmp(lang, slang->sl_fname, FALSE) == FPC_SAME) 2346 if (fullpathcmp(lang, slang->sl_fname, FALSE, TRUE) == FPC_SAME)
2347 break; 2347 break;
2348 } 2348 }
2349 else 2349 else
2350 { 2350 {
2351 filename = FALSE; 2351 filename = FALSE;
2393 2393
2394 /* 2394 /*
2395 * Loop over the languages, there can be several files for "lang". 2395 * Loop over the languages, there can be several files for "lang".
2396 */ 2396 */
2397 for (slang = first_lang; slang != NULL; slang = slang->sl_next) 2397 for (slang = first_lang; slang != NULL; slang = slang->sl_next)
2398 if (filename ? fullpathcmp(lang, slang->sl_fname, FALSE) == FPC_SAME 2398 if (filename ? fullpathcmp(lang, slang->sl_fname, FALSE, TRUE)
2399 == FPC_SAME
2399 : STRICMP(lang, slang->sl_name) == 0) 2400 : STRICMP(lang, slang->sl_name) == 0)
2400 { 2401 {
2401 region_mask = REGION_ALL; 2402 region_mask = REGION_ALL;
2402 if (!filename && region != NULL) 2403 if (!filename && region != NULL)
2403 { 2404 {
2461 2462
2462 /* If it was already found above then skip it. */ 2463 /* If it was already found above then skip it. */
2463 for (c = 0; c < ga.ga_len; ++c) 2464 for (c = 0; c < ga.ga_len; ++c)
2464 { 2465 {
2465 p = LANGP_ENTRY(ga, c)->lp_slang->sl_fname; 2466 p = LANGP_ENTRY(ga, c)->lp_slang->sl_fname;
2466 if (p != NULL && fullpathcmp(spf_name, p, FALSE) == FPC_SAME) 2467 if (p != NULL && fullpathcmp(spf_name, p, FALSE, TRUE)
2468 == FPC_SAME)
2467 break; 2469 break;
2468 } 2470 }
2469 if (c < ga.ga_len) 2471 if (c < ga.ga_len)
2470 continue; 2472 continue;
2471 } 2473 }
2472 2474
2473 /* Check if it was loaded already. */ 2475 /* Check if it was loaded already. */
2474 for (slang = first_lang; slang != NULL; slang = slang->sl_next) 2476 for (slang = first_lang; slang != NULL; slang = slang->sl_next)
2475 if (fullpathcmp(spf_name, slang->sl_fname, FALSE) == FPC_SAME) 2477 if (fullpathcmp(spf_name, slang->sl_fname, FALSE, TRUE)
2478 == FPC_SAME)
2476 break; 2479 break;
2477 if (slang == NULL) 2480 if (slang == NULL)
2478 { 2481 {
2479 /* Not loaded, try loading it now. The language name includes the 2482 /* Not loaded, try loading it now. The language name includes the
2480 * region name, the region is ignored otherwise. for int_wordlist 2483 * region name, the region is ignored otherwise. for int_wordlist