forked from aniani/vim
patch 9.0.0551: mode message is delayed when :echowin was used
Problem: Mode message is delayed when :echowin was used. (Maxim Kim) Solution: Save and restore msg_didout in :echowin. (closes #11193)
This commit is contained in:
parent
62de54b48d
commit
f87eeb43fb
@ -4557,6 +4557,13 @@ popup_hide_message_win(void)
|
||||
popup_hide(message_win);
|
||||
}
|
||||
|
||||
// Values saved in start_echowindow() and restored in end_echowindow()
|
||||
static int save_msg_didout = FALSE;
|
||||
static int save_msg_col = 0;
|
||||
// Values saved in end_echowindow() and restored in start_echowindow()
|
||||
static int ew_msg_didout = FALSE;
|
||||
static int ew_msg_col = 0;
|
||||
|
||||
/*
|
||||
* Invoked before outputting a message for ":echowindow".
|
||||
*/
|
||||
@ -4564,6 +4571,10 @@ popup_hide_message_win(void)
|
||||
start_echowindow(void)
|
||||
{
|
||||
in_echowindow = TRUE;
|
||||
save_msg_didout = msg_didout;
|
||||
save_msg_col = msg_col;
|
||||
msg_didout = ew_msg_didout;
|
||||
msg_col = ew_msg_col;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -4579,10 +4590,10 @@ end_echowindow(void)
|
||||
redraw_cmd(FALSE);
|
||||
|
||||
// do not overwrite messages
|
||||
// TODO: only for message window
|
||||
msg_didout = TRUE;
|
||||
if (msg_col == 0)
|
||||
msg_col = 1;
|
||||
ew_msg_didout = TRUE;
|
||||
ew_msg_col = msg_col == 0 ? 1 : msg_col;
|
||||
msg_didout = save_msg_didout;
|
||||
msg_col = save_msg_col;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -699,6 +699,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
551,
|
||||
/**/
|
||||
550,
|
||||
/**/
|
||||
|
Loading…
x
Reference in New Issue
Block a user