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