summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/todo.txt3
-rw-r--r--src/fileio.c16
2 files changed, 16 insertions, 3 deletions
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 937f5c8267..0e4459337f 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -77,9 +77,6 @@ I often see pasted text (from Firefox, to Vim in xterm) appear twice.
Also, Vim in xterm sometimes loses copy/paste ability (probably after running
an external command).
-Win32: The "4913" file is sometimes not deleted. Perhaps another program has
-opened it? Use FILE_FLAG_DELETE_ON_CLOSE? (Craig Barkhouse, 2009 Nov 6)
-
Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20)
Problem with transparent cmdline. Also: Terminal title is wrong with
diff --git a/src/fileio.c b/src/fileio.c
index 2881cbc88b..368fd7adfe 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -3744,6 +3744,22 @@ buf_write(buf, fname, sfname, start, end, eap, append, forceit,
* can't delete an open file. */
close(fd);
mch_remove(IObuff);
+# ifdef MSWIN
+ /* MS-Windows may trigger a virus scanner to open the
+ * file, we can't delete it then. Keep trying for half a
+ * second. */
+ {
+ int try;
+
+ for (try = 0; try < 10; ++try)
+ {
+ if (mch_lstat((char *)IObuff, &st) < 0)
+ break;
+ ui_delay(50L, TRUE); /* wait 50 msec */
+ mch_remove(IObuff);
+ }
+ }
+# endif
}
}
}