@@ -914,10 +914,8 @@ mod cmd {
915 fn quit(editor: &mut Editor, args: &[&str], event: PromptEvent) {
915 fn quit(editor: &mut Editor, args: &[&str], event: PromptEvent) {
916 // last view and we have unsaved changes
916 // last view and we have unsaved changes
917− if editor.tree.views().count() == 1 {
917+ if editor.tree.views().count() == 1 && _buffers_remaining(editor) {
918− if _buffers_remaining(editor) {
922 editor.close(editor.view().id, /* close_buffer */ false);
920 editor.close(editor.view().id, /* close_buffer */ false);
@@ -1056,10 +1054,8 @@ mod cmd {
1056 editor.set_error(errors);
1054 editor.set_error(errors);
1058 if quit {
1056 if quit {
1060− if _buffers_remaining(editor) {
1057+ if !force && _buffers_remaining(editor) {
1061− return;
1058+ return;
1065 // close all views
1061 // close all views
@@ -1083,10 +1079,8 @@ mod cmd {
1085 fn _quit_all(editor: &mut Editor, args: &[&str], event: PromptEvent, force: bool) {
1081 fn _quit_all(editor: &mut Editor, args: &[&str], event: PromptEvent, force: bool) {
1087− if _buffers_remaining(editor) {
1082+ if !force && _buffers_remaining(editor) {
1088− return;
1083+ return;
1092 // close all views
1086 // close all views