# HG changeset patch # User Richard M. Stallman # Date 768897266 0 # Node ID f4fb8b913c5d660ed79d4c06768eadccd8a16089 # Parent 4ba64e05dad62b7e827f63c9bb13e1b7dc849521 (Fcopy_file): Close output before setting its times. Close both before discarding the unwind protects. diff -r 4ba64e05dad6 -r f4fb8b913c5d src/fileio.c --- a/src/fileio.c Fri May 13 22:21:45 1994 +0000 +++ b/src/fileio.c Sat May 14 06:34:26 1994 +0000 @@ -1803,6 +1803,10 @@ report_file_error ("I/O error", Fcons (newname, Qnil)); immediate_quit = 0; + /* Closing the output clobbers the file times on some systems. */ + if (close (ofd) < 0) + report_file_error ("I/O error", Fcons (newname, Qnil)); + if (input_file_statable_p) { if (!NILP (keep_date)) @@ -1818,13 +1822,11 @@ chmod (XSTRING (newname)->data, st.st_mode & 07777); } + close (ifd); + /* Discard the unwind protects. */ specpdl_ptr = specpdl + count; - close (ifd); - if (close (ofd) < 0) - report_file_error ("I/O error", Fcons (newname, Qnil)); - UNGCPRO; return Qnil; }