method write_file ?(fail_if_newer=false) () =
if self#newer_file_exists && fail_if_newer then
raise (Newer_file_exists filename);
let utf8 = buffer#get_text () in
let s = self#of_utf8 (self#mode_from_display utf8) in
Ed_misc.file_of_string ~file: filename s;
buffer#set_modified false;
self#update_date