aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/buffer.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-01-27 08:48:31 +0100
committerGitHub <noreply@github.com>2022-01-27 08:48:31 +0100
commit1270949c11536248015fb7efad9f37f5f36399c4 (patch)
tree3fc88454d080dfa8f5e092fce4ce214f7b6bbe3f /src/nvim/buffer.c
parent618f7079e51a62ef67b0f5e0cb75ff9ccdb9ffcd (diff)
parent2fa1b4cbff06b6dabc6d59df585953e9220e5007 (diff)
downloadrneovim-1270949c11536248015fb7efad9f37f5f36399c4.tar.gz
rneovim-1270949c11536248015fb7efad9f37f5f36399c4.tar.bz2
rneovim-1270949c11536248015fb7efad9f37f5f36399c4.zip
Merge pull request #17150 from zeertzjq/vim-8.2.4166
vim-patch:8.2.4166: undo synced when switching buffer in another window
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r--src/nvim/buffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c
index 124ae8c719..eee5a0b46c 100644
--- a/src/nvim/buffer.c
+++ b/src/nvim/buffer.c
@@ -1454,7 +1454,10 @@ void set_curbuf(buf_T *buf, int action)
}
if (bufref_valid(&prevbufref) && !aborting()) {
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,