Mercurial > vim
comparison src/main.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 | 73ff6357da5b |
comparison
equal
deleted
inserted
replaced
16737:e56018f01ba7 | 16738:b52ea9c5f1db |
---|---|
2682 parmp->window_count = 1; | 2682 parmp->window_count = 1; |
2683 | 2683 |
2684 if (recoverymode) /* do recover */ | 2684 if (recoverymode) /* do recover */ |
2685 { | 2685 { |
2686 msg_scroll = TRUE; /* scroll message up */ | 2686 msg_scroll = TRUE; /* scroll message up */ |
2687 ml_recover(); | 2687 ml_recover(TRUE); |
2688 if (curbuf->b_ml.ml_mfp == NULL) /* failed */ | 2688 if (curbuf->b_ml.ml_mfp == NULL) /* failed */ |
2689 getout(1); | 2689 getout(1); |
2690 do_modelines(0); /* do modelines */ | 2690 do_modelines(0); /* do modelines */ |
2691 } | 2691 } |
2692 else | 2692 else |
3099 #endif | 3099 #endif |
3100 secure = p_secure; | 3100 secure = p_secure; |
3101 | 3101 |
3102 i = FAIL; | 3102 i = FAIL; |
3103 if (fullpathcmp((char_u *)USR_VIMRC_FILE, | 3103 if (fullpathcmp((char_u *)USR_VIMRC_FILE, |
3104 (char_u *)VIMRC_FILE, FALSE) != FPC_SAME | 3104 (char_u *)VIMRC_FILE, FALSE, TRUE) != FPC_SAME |
3105 #ifdef USR_VIMRC_FILE2 | 3105 #ifdef USR_VIMRC_FILE2 |
3106 && fullpathcmp((char_u *)USR_VIMRC_FILE2, | 3106 && fullpathcmp((char_u *)USR_VIMRC_FILE2, |
3107 (char_u *)VIMRC_FILE, FALSE) != FPC_SAME | 3107 (char_u *)VIMRC_FILE, FALSE, TRUE) != FPC_SAME |
3108 #endif | 3108 #endif |
3109 #ifdef USR_VIMRC_FILE3 | 3109 #ifdef USR_VIMRC_FILE3 |
3110 && fullpathcmp((char_u *)USR_VIMRC_FILE3, | 3110 && fullpathcmp((char_u *)USR_VIMRC_FILE3, |
3111 (char_u *)VIMRC_FILE, FALSE) != FPC_SAME | 3111 (char_u *)VIMRC_FILE, FALSE, TRUE) != FPC_SAME |
3112 #endif | 3112 #endif |
3113 #ifdef SYS_VIMRC_FILE | 3113 #ifdef SYS_VIMRC_FILE |
3114 && fullpathcmp((char_u *)SYS_VIMRC_FILE, | 3114 && fullpathcmp((char_u *)SYS_VIMRC_FILE, |
3115 (char_u *)VIMRC_FILE, FALSE) != FPC_SAME | 3115 (char_u *)VIMRC_FILE, FALSE, TRUE) != FPC_SAME |
3116 #endif | 3116 #endif |
3117 ) | 3117 ) |
3118 i = do_source((char_u *)VIMRC_FILE, TRUE, DOSO_VIMRC); | 3118 i = do_source((char_u *)VIMRC_FILE, TRUE, DOSO_VIMRC); |
3119 | 3119 |
3120 if (i == FAIL) | 3120 if (i == FAIL) |
3125 secure = p_secure; | 3125 secure = p_secure; |
3126 else | 3126 else |
3127 secure = 0; | 3127 secure = 0; |
3128 #endif | 3128 #endif |
3129 if ( fullpathcmp((char_u *)USR_EXRC_FILE, | 3129 if ( fullpathcmp((char_u *)USR_EXRC_FILE, |
3130 (char_u *)EXRC_FILE, FALSE) != FPC_SAME | 3130 (char_u *)EXRC_FILE, FALSE, TRUE) != FPC_SAME |
3131 #ifdef USR_EXRC_FILE2 | 3131 #ifdef USR_EXRC_FILE2 |
3132 && fullpathcmp((char_u *)USR_EXRC_FILE2, | 3132 && fullpathcmp((char_u *)USR_EXRC_FILE2, |
3133 (char_u *)EXRC_FILE, FALSE) != FPC_SAME | 3133 (char_u *)EXRC_FILE, FALSE, TRUE) != FPC_SAME |
3134 #endif | 3134 #endif |
3135 ) | 3135 ) |
3136 (void)do_source((char_u *)EXRC_FILE, FALSE, DOSO_NONE); | 3136 (void)do_source((char_u *)EXRC_FILE, FALSE, DOSO_NONE); |
3137 } | 3137 } |
3138 } | 3138 } |