mirror of
https://github.com/neovim/neovim.git
synced 2025-09-18 01:08:20 +00:00
'inccommand': rework
- 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)
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user