updated for version 7.4.684
Problem: When starting several Vim instances in diff mode, the temp files
used may not be unique. (Issue 353)
Solution: Add an argument to vim_tempname() to keep the file.
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index ef0ec1f..978d516 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -1158,8 +1158,8 @@
}
else
#endif
- if ((do_in && (itmp = vim_tempname('i')) == NULL)
- || (do_out && (otmp = vim_tempname('o')) == NULL))
+ if ((do_in && (itmp = vim_tempname('i', FALSE)) == NULL)
+ || (do_out && (otmp = vim_tempname('o', FALSE)) == NULL))
{
EMSG(_(e_notmp));
goto filterend;
@@ -1963,7 +1963,7 @@
if (fp_out == NULL)
{
vim_free(tempname);
- if ((tempname = vim_tempname('o')) != NULL)
+ if ((tempname = vim_tempname('o', TRUE)) != NULL)
fp_out = mch_fopen((char *)tempname, WRITEBIN);
}