IO: let 'fsync' option control more cases

Vim has the 'swapsync' option which we removed in 62d137ce09.
Instead let 'fsync' control swapfile-fsync.

These cases ALWAYS force fsync (ignoring 'fsync' option):
- Idle (CursorHold).
- Exit caused by deadly signal.
- SIGPWR signal.
- Explicit :preserve command.
This commit is contained in:
Justin M. Keyes
2018-04-21 00:34:13 +02:00
parent a02d22cca8
commit 498731615c
6 changed files with 19 additions and 20 deletions

View File

@@ -2643,7 +2643,7 @@ void preserve_exit(void)
if (buf->b_ml.ml_mfp != NULL && buf->b_ml.ml_mfp->mf_fname != NULL) {
mch_errmsg((uint8_t *)"Vim: preserving files...\n");
ui_flush();
ml_sync_all(false, false); // preserve all swap files
ml_sync_all(false, false, true); // preserve all swap files
break;
}
}