[PATCH 1/2] vi: don't create a new file with ZZ when no modification has been done
Yousong Zhou
yszhou4tech at gmail.com
Wed Feb 22 13:11:51 UTC 2017
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 storage
writes and sometimes efforts of debugging bugs caused by those unneeded
stray files...
Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
---
editors/vi.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/editors/vi.c b/editors/vi.c
index bbaac50..4b5b7cd 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;
}
--
2.6.4
More information about the busybox
mailing list