diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-08-13 21:47:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-13 21:47:52 +0800 |
commit | 3cf629022b6289a980c47cfae921f9aec1948585 (patch) | |
tree | 238ad3b9e8f689ada1609a18153693bd07c37d11 /src/nvim/buffer.c | |
parent | f9a9956837223b45a266c6cd3294caeb25be5972 (diff) | |
download | rneovim-3cf629022b6289a980c47cfae921f9aec1948585.tar.gz rneovim-3cf629022b6289a980c47cfae921f9aec1948585.tar.bz2 rneovim-3cf629022b6289a980c47cfae921f9aec1948585.zip |
vim-patch:9.0.0198: ml_get error when switching buffer in Visual mode (#19756)
Problem: ml_get error when switching buffer in Visual mode.
Solution: End Visual mode when switching buffer. (closes vim/vim#10902)
https://github.com/vim/vim/commit/cfeb8a584be11758cf71ae02f6c937b06d6bb66f
Diffstat (limited to 'src/nvim/buffer.c')
-rw-r--r-- | src/nvim/buffer.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index ce788cc7a0..be376c2109 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -1533,6 +1533,15 @@ void set_curbuf(buf_T *buf, int action) /// be pointing to freed memory. void enter_buffer(buf_T *buf) { + // when closing the current buffer stop Visual mode + if (VIsual_active +#if defined(EXITFREE) + && !entered_free_all_mem +#endif + ) { + end_visual_mode(); + } + // Get the buffer in the current window. curwin->w_buffer = buf; curbuf = buf; |