Index: src/ui/system.c =================================================================== --- src/ui/system.c (revision 7852) +++ src/ui/system.c (working copy) @@ -317,6 +317,15 @@ return luaL_error(L, "fclose: %s", strerror(errno)); } +/* windows systems must delete old file first */ +#if defined(WIN32) + if (_access_s(fname, 0) == 0) { + if (remove(fname) != 0) { + return luaL_error(L, "remove old file: %s", strerror(errno)); + } + } +#endif + if (rename(tname, fname) != 0) { return luaL_error(L, "rename: %s", strerror(errno)); }