[git commit] vi: avoid touching a new file with ZZ when no editing has been done
Denys Vlasenko
vda.linux at googlemail.com
Fri Mar 24 20:13:10 UTC 2017
commit: https://git.busybox.net/busybox/commit/?id=8f3bf4f0d3605b50a8e4c48c89aeabc455f04884
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
This is the behaviour observed with standard vim and busybox vi of at
least 1.22.1. It was changed with commit "32afd3a vi: some
simplifications" which happened before 1.23.0.
Mistyping filename on command line happens fairly often and it's better
we restore the old behaviour to avoid a few unnecessary flash writes and
sometimes efforts of debugging bugs caused by those unneeded stray
files.
Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
editors/vi.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/editors/vi.c b/editors/vi.c
index 1e39b52..f33db66 100644
--- a/editors/vi.c
+++ b/editors/vi.c
@@ -715,14 +715,6 @@ static int init_text_buffer(char *fn)
{
int rc;
- flush_undo_data();
- modified_count = 0;
- last_modified_count = -1;
-#if ENABLE_FEATURE_VI_YANKMARK
- /* init the marks */
- memset(mark, 0, sizeof(mark));
-#endif
-
/* allocate/reallocate text buffer */
free(text);
text_size = 10240;
@@ -737,6 +729,14 @@ static int init_text_buffer(char *fn)
// file doesnt exist. Start empty buf with dummy line
char_insert(text, '\n', NO_UNDO);
}
+
+ flush_undo_data();
+ modified_count = 0;
+ last_modified_count = -1;
+#if ENABLE_FEATURE_VI_YANKMARK
+ /* init the marks */
+ memset(mark, 0, sizeof(mark));
+#endif
return rc;
}
More information about the busybox-cvs
mailing list