vim-patch:8.1.2124: ruler is not updated if win_execute() moves cursor

Problem:    Ruler is not updated if win_execute() moves cursor.
Solution:   Update the status line. (closes vim/vim#5022)
345f28df54
This commit is contained in:
jing
2021-05-01 10:31:15 +08:00
parent 73154bbae0
commit ec3524da29
2 changed files with 26 additions and 0 deletions

View File

@@ -2047,12 +2047,18 @@ static void f_win_execute(typval_T *argvars, typval_T *rettv, FunPtr fptr)
tabpage_T *save_curtab;
if (wp != NULL && tp != NULL) {
pos_T curpos = wp->w_cursor;
if (switch_win_noblock(&save_curwin, &save_curtab, wp, tp, true) ==
OK) {
check_cursor();
execute_common(argvars, rettv, fptr, 1);
}
restore_win_noblock(save_curwin, save_curtab, true);
// Update the status line if the cursor moved.
if (win_valid(wp) && !equalpos(curpos, wp->w_cursor)) {
wp->w_redr_status = true;
}
}
}