changeset 80684:0122e7498e18

(Vauto_save_list_file_name): Move here from file.el. (auto_save_1): Update modtime when auto-save-list-file-name is on.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 05 Aug 2008 21:44:01 +0000
parents 6525c75243ea
children f971d5caa309
files src/fileio.c
diffstat 1 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/fileio.c	Tue Aug 05 21:43:50 2008 +0000
+++ b/src/fileio.c	Tue Aug 05 21:44:01 2008 +0000
@@ -208,6 +208,9 @@
 /* File name in which we write a list of all our auto save files.  */
 Lisp_Object Vauto_save_list_file_name;
 
+/* Whether or not files are auto-saved into themselves.  */
+Lisp_Object Vauto_save_visited_file_name;
+
 /* Function to call to read a file name.  */
 Lisp_Object Vread_file_name_function;
 
@@ -5824,9 +5827,9 @@
     }
 
   return
-    Fwrite_region (Qnil, Qnil,
-		   current_buffer->auto_save_file_name,
-		   Qnil, Qlambda, Qnil, Qnil);
+    Fwrite_region (Qnil, Qnil, current_buffer->auto_save_file_name, Qnil,
+		   NILP (Vauto_save_visited_file_name) ? Qlambda : Qt,
+		   Qnil, Qnil);
 }
 
 static Lisp_Object
@@ -6772,6 +6775,11 @@
 a non-nil value.  */);
   Vauto_save_list_file_name = Qnil;
 
+  DEFVAR_LISP ("auto-save-visited-file-name", &Vauto_save_visited_file_name,
+	       doc: /* Non-nil says auto-save a buffer in the file it is visiting, when practical.
+Normally auto-save files are written under other names.  */);
+  Vauto_save_visited_file_name = Qnil;
+
 #ifdef HAVE_FSYNC
   DEFVAR_BOOL ("write-region-inhibit-fsync", &write_region_inhibit_fsync,
 	       doc: /* *Non-nil means don't call fsync in `write-region'.