diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/buffer.c | 3 | ||||
-rw-r--r-- | src/nvim/ex_cmds.c | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index 7fd4326914..6ae239c9c3 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -591,7 +591,8 @@ void close_buffer(win_T *win, buf_T *buf, int action, int abort_if_last) /* Change directories when the 'acd' option is set. */ do_autochdir(); - // disable buffer updates for the current buffer + // Disable buffer-updates for the current buffer. + // No need to check `unload_buf`: in that case the function returned above. buf_updates_unregister_all(buf); /* diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 97bddb3258..2a5793f0d4 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -2476,8 +2476,8 @@ int do_ecmd( } set_bufref(&bufref, buf); if (p_ur < 0 || curbuf->b_ml.ml_line_count <= p_ur) { - /* Save all the text, so that the reload can be undone. - * Sync first so that this is a separate undo-able action. */ + // Save all the text, so that the reload can be undone. + // Sync first so that this is a separate undo-able action. u_sync(false); if (u_savecommon(0, curbuf->b_ml.ml_line_count + 1, 0, true) == FAIL) { @@ -2491,6 +2491,7 @@ int do_ecmd( // Tell readfile() not to clear or reload undo info. readfile_flags = READ_KEEP_UNDO; } else { + buf_updates_unregister_all(curbuf); buf_freeall(curbuf, 0); // Free all things for buffer. } // If autocommands deleted the buffer we were going to re-edit, give |