0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.4166: undo synced when switching buffer in another window

Problem:    Undo synced when switching buffer in another window.
Solution:   Do not sync undo when not needed. (closes #9575)
This commit is contained in:
Bram Moolenaar
2022-01-20 21:00:54 +00:00
parent 05386ca1d4
commit e615db0604
3 changed files with 30 additions and 1 deletions

View File

@@ -1744,7 +1744,11 @@ set_curbuf(buf_T *buf, int action)
{
win_T *previouswin = curwin;
if (prevbuf == curbuf)
// Do not sync when in Insert mode and the buffer is open in
// another window, might be a timer doing something in another
// window.
if (prevbuf == curbuf
&& ((State & INSERT) == 0 || curbuf->b_nwindows <= 1))
u_sync(FALSE);
close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf,
unload ? action : (action == DOBUF_GOTO