patch 8.2.4785: Visual mode not stopped if win_gotoid() goes to other buffer
Problem: Visual mode not stopped early enough if win_gotoid() goes to
another buffer. (Sergey Vlasov)
Solution: Stop Visual mode before jumping to another buffer. (closes #10217)
diff --git a/src/evalwindow.c b/src/evalwindow.c
index f6bc79f..53fd1e3 100644
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -817,6 +817,9 @@
FOR_ALL_TAB_WINDOWS(tp, wp)
if (wp->w_id == id)
{
+ // When jumping to another buffer stop Visual mode.
+ if (VIsual_active && wp->w_buffer != curbuf)
+ end_visual_mode();
goto_tabpage_win(tp, wp);
rettv->vval.v_number = 1;
return;