aboutsummaryrefslogtreecommitdiff
path: root/vis-cmds.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-04-08 08:53:49 +0200
committerMarc André Tanner <mat@brain-dump.org>2016-04-08 08:53:49 +0200
commitb9b6b8fb15f1a8986aa5195fbca0d89155ad768e (patch)
treec898a841a5c359e5a4723b9890b1bab86512f830 /vis-cmds.c
parent7d7eb160ae6a7b1a6eae657f393986b4e78203b0 (diff)
downloadvis-b9b6b8fb15f1a8986aa5195fbca0d89155ad768e.tar.gz
vis-b9b6b8fb15f1a8986aa5195fbca0d89155ad768e.tar.xz
vis: make ZZ work for unnamed but unmodified buffer
Close #236
Diffstat (limited to 'vis-cmds.c')
-rw-r--r--vis-cmds.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/vis-cmds.c b/vis-cmds.c
index 61ed197..2455f52 100644
--- a/vis-cmds.c
+++ b/vis-cmds.c
@@ -407,7 +407,9 @@ static bool cmd_vnew(Vis *vis, Win *win, Command *cmd, const char *argv[], Curso
}
static bool cmd_wq(Vis *vis, Win *win, Command *cmd, const char *argv[], Cursor *cur, Filerange *range) {
- if (cmd_write(vis, win, cmd, argv, cur, range))
+ File *file = win->file;
+ bool unmodified = !file->is_stdin && !file->name && !text_modified(file->text);
+ if (unmodified || cmd_write(vis, win, cmd, argv, cur, range))
return cmd_quit(vis, win, cmd, argv, cur, range);
return false;
}