From 9829febebcd9165c3913c7a6995b2e5ef4eacc1c Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Thu, 18 Sep 2014 08:00:28 +0900 Subject: vim-patch:7.4.364 Problem: When the viminfo file can't be renamed there is no error message. (Vladimir Berezhnoy) Solution: Check for the rename to fail. https://code.google.com/p/vim/source/detail?r=v7-4-364 --- src/nvim/ex_cmds.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/nvim/ex_cmds.c') diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index b72d1941ec..163d20f13a 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -1648,11 +1648,13 @@ void write_viminfo(char_u *file, int forceit) if (fp_in != NULL) { fclose(fp_in); - /* - * In case of an error keep the original viminfo file. - * Otherwise rename the newly written file. - */ - if (viminfo_errcnt || vim_rename(tempname, fname) == -1) { + /* In case of an error keep the original viminfo file. Otherwise + * rename the newly written file. Give an error if that fails. */ + if (viminfo_errcnt == 0 && vim_rename(tempname, fname) == -1) { + viminfo_errcnt++; + EMSG2(_("E886: Can't rename viminfo file to %s!"), fname); + } + if (viminfo_errcnt > 0) { os_remove((char *)tempname); } } -- cgit