1Index: src/memline.c 2=================================================================== 3--- src/memline.c (revision 57762) 4+++ src/memline.c (working copy) 5@@ -1662,7 +1662,8 @@ 6 } 7 else 8 MSG(_("Recovery completed. Buffer contents equals file contents.")); 9- MSG_PUTS(_("\nYou may want to delete the .swp file now.\n\n")); 10+ if (vim_strchr(p_cpo, CPO_PRESERVE) == NULL) 11+ MSG_PUTS(_("\nYou may want to delete the .swp file now.\n\n")); 12 cmdline_row = msg_row; 13 } 14 #ifdef FEAT_CRYPT 15@@ -1681,7 +1682,8 @@ 16 { 17 if (hp != NULL) 18 mf_put(mfp, hp, FALSE, FALSE); 19- mf_close(mfp, FALSE); /* will also vim_free(mfp->mf_fname) */ 20+ /* PR-3936063: In POSIX preserve mode, delete the file after recovery */ 21+ mf_close(mfp, (vim_strchr(p_cpo, CPO_PRESERVE) != NULL)); /* will also vim_free(mfp->mf_fname) */ 22 } 23 if (buf != NULL) 24 { 25