From 5b60023a8c19fd77c426b0070057b95cae89cd42 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Sat, 30 Nov 2019 15:29:01 -0500 Subject: vim-patch:8.1.2363: ml_get error when accessing Visual area in 'statusline' Problem: ml_get error when accessing Visual area in 'statusline'. Solution: Disable Visual mode when using another window. (closes vim/vim#5278) https://github.com/vim/vim/commit/dee50a518007b3a59f54b8ad018b6a83993593e7 --- src/nvim/buffer.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/nvim/buffer.c') diff --git a/src/nvim/buffer.c b/src/nvim/buffer.c index e3b8e9cc6d..33ffff39f6 100644 --- a/src/nvim/buffer.c +++ b/src/nvim/buffer.c @@ -3801,14 +3801,20 @@ int build_stl_str_hl( buf_T *const save_curbuf = curbuf; win_T *const save_curwin = curwin; + const int save_VIsual_active = VIsual_active; curwin = wp; curbuf = wp->w_buffer; + // Visual mode is only valid in the current window. + if (curwin != save_curwin) { + VIsual_active = false; + } // Note: The result stored in `t` is unused. str = eval_to_string_safe(out_p, &t, use_sandbox); curwin = save_curwin; curbuf = save_curbuf; + VIsual_active = save_VIsual_active; // Remove the variable we just stored do_unlet(S_LEN("g:actual_curbuf"), true); -- cgit