From 8e71f2aab8f9f893be7741af21a7c689cf165c66 Mon Sep 17 00:00:00 2001 From: Ron Yorston Date: Sat, 1 May 2021 13:15:30 +0100 Subject: [PATCH] vi: :wq/:x should warn if there are more files to edit ':wq' or ':x' should issue a warning if there are more files to edit, unless they're followed by '!'. function old new delta colon 3911 3960 +49 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 49/0) Total: 49 bytes Signed-off-by: Ron Yorston Signed-off-by: Denys Vlasenko --- editors/vi.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/editors/vi.c b/editors/vi.c index c7e7c67d5..4a7f8c3c2 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -3181,9 +3181,20 @@ static void colon(char *buf) modified_count = 0; last_modified_count = -1; } - if (cmd[0] == 'x' - || cmd[1] == 'q' || cmd[1] == 'n' - ) { + if (cmd[1] == 'n') { + editing = 0; + } else if (cmd[0] == 'x' || cmd[1] == 'q') { + // are there other files to edit? + int n = cmdline_filecnt - optind - 1; + if (n > 0) { + if (useforce) { + // force end of argv list + optind = cmdline_filecnt; + } else { + status_line_bold("%u more file(s) to edit", n); + goto ret; + } + } editing = 0; } }