mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 14:08:32 +00:00
fix(ui): ext_cmdline should not move cursor to curwin
Problem: The ext_cmdline cursor position on the screen seems to rely on an implicit assumption that the event listener implements a cmdline window that is made the current window which is problematic (e.g. breaks 'incsearch' in the actual current window). Solution: Remove this assumption and allow nvim_win_set_cursor() to move the cursor on the screen to a non-current window (previous commit).
This commit is contained in:
@@ -767,7 +767,7 @@ static uint8_t *command_line_enter(int firstc, int count, int indent, bool clear
|
||||
}
|
||||
|
||||
setmouse();
|
||||
ui_cursor_shape(); // may show different cursor shape
|
||||
setcursor();
|
||||
|
||||
TryState tstate;
|
||||
Error err = ERROR_INIT;
|
||||
@@ -927,7 +927,6 @@ static uint8_t *command_line_enter(int firstc, int count, int indent, bool clear
|
||||
}
|
||||
may_trigger_modechanged();
|
||||
setmouse();
|
||||
ui_cursor_shape(); // may show different cursor shape
|
||||
sb_text_end_cmdline();
|
||||
|
||||
theend:
|
||||
@@ -3859,7 +3858,6 @@ void cursorcmd(void)
|
||||
if (ccline.redraw_state < kCmdRedrawPos) {
|
||||
ccline.redraw_state = kCmdRedrawPos;
|
||||
}
|
||||
setcursor();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4553,6 +4551,7 @@ static int open_cmdwin(void)
|
||||
State = save_State;
|
||||
may_trigger_modechanged();
|
||||
setmouse();
|
||||
setcursor();
|
||||
|
||||
return cmdwin_result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user