diff options
author | vimboss <devnull@localhost> | 2009-11-03 12:06:23 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2009-11-03 12:06:23 +0000 |
commit | 08e64055fd7de4f4ac7ba3998651c3d0f341cad8 (patch) | |
tree | e2bbf1505c728e2eee2580f1f4e9718077c1fe23 | |
parent | 4e8ce2e1f90498d519135aa6fc3fd9d9d23aff47 (diff) | |
download | vim-08e64055fd7de4f4ac7ba3998651c3d0f341cad8.tar.gz |
-rw-r--r-- | src/memline.c | 17 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/memline.c b/src/memline.c index 8c8019ab..eba3561a 100644 --- a/src/memline.c +++ b/src/memline.c @@ -864,21 +864,24 @@ ml_recover() recoverymode = TRUE; called_from_main = (curbuf->b_ml.ml_mfp == NULL); attr = hl_attr(HLF_E); -/* - * If the file name ends in ".sw?" we use it directly. - * Otherwise a search is done to find the swap file(s). - */ + + /* + * If the file name ends in ".s[uvw][a-z]" we assume this is the swap file. + * Otherwise a search is done to find the swap file(s). + */ fname = curbuf->b_fname; if (fname == NULL) /* When there is no file name */ fname = (char_u *)""; len = (int)STRLEN(fname); if (len >= 4 && #if defined(VMS) || defined(RISCOS) - STRNICMP(fname + len - 4, "_sw" , 3) + STRNICMP(fname + len - 4, "_s" , 2) #else - STRNICMP(fname + len - 4, ".sw" , 3) + STRNICMP(fname + len - 4, ".s" , 2) #endif - == 0) + == 0 + && vim_strchr((char_u *)"UVWuvw", fname[len - 2]) != NULL + && ASCII_ISALPHA(fname[len - 1])) { directly = TRUE; fname = vim_strsave(fname); /* make a copy for mf_open() */ diff --git a/src/version.c b/src/version.c index 7e6b39d9..9dff42c0 100644 --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 272, +/**/ 271, /**/ 270, |