From c04ffe866d276d6a6bd9e9c6a8b0dbb71504db7c Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 31 Oct 2016 03:50:19 +0100 Subject: 'inccommand': rework MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Eliminate/isolate static/global variables - Remove special-case parameter from buflist_new() - Remove special-case ECMD_RESERVED_BUFNR - To determine when u_undo_and_forget() should be done, check b_changedtick instead of a heuristic. - use mb_string2cells() instead of strlen() to measure the :sub patterns - call ml_close() before buf_clear_file(). Avoids leaks caught by ASan. Original patch by: Robin Elrharbi-Fleury (Robinhola) Audrey Rayé (Adrey06) Philémon Hullot (DesbyP) Aymeric Collange (aym7) Clément Guyomard (Clement0) --- src/nvim/fileio.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/nvim/fileio.c') diff --git a/src/nvim/fileio.c b/src/nvim/fileio.c index 7ce2c57420..e83e9f6b01 100644 --- a/src/nvim/fileio.c +++ b/src/nvim/fileio.c @@ -5067,7 +5067,7 @@ void buf_reload(buf_T *buf, int orig_mode) savebuf = NULL; } else { // Allocate a buffer without putting it in the buffer list. - savebuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY, 0); + savebuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY); if (savebuf != NULL && buf == curbuf) { /* Open the memline. */ curbuf = savebuf; @@ -6409,8 +6409,9 @@ win_found: && curbuf != aco->new_curbuf && buf_valid(aco->new_curbuf) && aco->new_curbuf->b_ml.ml_mfp != NULL) { - if (curwin->w_s == &curbuf->b_s) + if (curwin->w_s == &curbuf->b_s) { curwin->w_s = &aco->new_curbuf->b_s; + } --curbuf->b_nwindows; curbuf = aco->new_curbuf; curwin->w_buffer = curbuf; -- cgit