@@ -949,9 +949,7 @@ mod cmd {
949949 };
950950 }
951951 if doc.path().is_none() {
952− return Err(anyhow!(
953− "cannot write a buffer without a filename".to_string()
954− ));
952+ return Err(anyhow!("cannot write a buffer without a filename"));
955953 }
956954 let autofmt = doc
957955 .language_config()
@@ -1006,8 +1004,12 @@ mod cmd {
10061004 }
10071005
10081006 fn write_quit(editor: &mut Editor, args: &[&str], event: PromptEvent) {
1009− write(editor, args, event);
1010− quit(editor, &[], event);
1007+ let (view, doc) = editor.current();
1008+ if let Err(e) = _write(view, doc, args.first()) {
1009+ editor.set_error(e.to_string());
1010+ return;
1011+ };
1012+ quit(editor, &[], event)
10111013 }
10121014
10131015 fn force_write_quit(editor: &mut Editor, args: &[&str], event: PromptEvent) {