method save_as =
let f () =
let save newname =
let do_it () =
try
f_file_rename file#filename newname;
self#write_file ;
with
Failure s -> Ed_misc.error_message (Ed_misc.to_utf8 s)
in
if Sys.file_exists newname then
Ed_misc.confirm self#minibuffer
(Printf.sprintf "Overwrite %s ?" (utf8_of_filename ~full: true newname))
do_it
else
do_it ()
in
Ed_misc.select_file
self#minibuffer
~title: (Printf.sprintf "Save %s as ..." (utf8_of_filename file#filename))
((Filename.dirname file#filename)^"/")
save
in
Some f