From 5304cb983146fe55ea1b4963ffc756ca4325673d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 18 Jan 2017 20:36:14 +0200 Subject: [PATCH] Remove lock file when auto-saving into the visited file * src/fileio.c (write_region): When auto-saving into the visited file, unlock the file whenever we mark the buffer unmodified. (Bug#25470) --- src/fileio.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/fileio.c b/src/fileio.c index be52d0f3d0e..8c8cba9e49c 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -5142,19 +5142,26 @@ write_region (Lisp_Object start, Lisp_Object end, Lisp_Object filename, if (! ok) report_file_errno ("Write error", filename, save_errno); + bool auto_saving_into_visited_file = + auto_saving + && ! NILP (Fstring_equal (BVAR (current_buffer, filename), + BVAR (current_buffer, auto_save_file_name))); if (visiting) { SAVE_MODIFF = MODIFF; XSETFASTINT (BVAR (current_buffer, save_length), Z - BEG); bset_filename (current_buffer, visit_file); update_mode_lines = 14; + if (auto_saving_into_visited_file) + unlock_file (lockname); } else if (quietly) { - if (auto_saving - && ! NILP (Fstring_equal (BVAR (current_buffer, filename), - BVAR (current_buffer, auto_save_file_name)))) - SAVE_MODIFF = MODIFF; + if (auto_saving_into_visited_file) + { + SAVE_MODIFF = MODIFF; + unlock_file (lockname); + } return Qnil; } -- 2.39.5