Patch 9.0.0551
Problem: Mode message is delayed when :echowin was used. (Maxim Kim)
Solution: Save and restore msg_didout in :echowin. (closes #11193)
Files: src/popupwin.c
*** ../vim-9.0.0550/src/popupwin.c 2022-09-11 21:35:47.554255165 +0100
--- src/popupwin.c 2022-09-22 18:56:43.669707956 +0100
***************
*** 4557,4562 ****
--- 4557,4569 ----
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,4569 ****
--- 4571,4580 ----
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,4588 ****
redraw_cmd(FALSE);
// do not overwrite messages
! // TODO: only for message window
! msg_didout = TRUE;
! if (msg_col == 0)
! msg_col = 1;
}
#endif
--- 4590,4599 ----
redraw_cmd(FALSE);
// do not overwrite messages
! ew_msg_didout = TRUE;
! ew_msg_col = msg_col == 0 ? 1 : msg_col;
! msg_didout = save_msg_didout;
! msg_col = save_msg_col;
}
#endif
*** ../vim-9.0.0550/src/version.c 2022-09-22 18:08:34.339338137 +0100
--- src/version.c 2022-09-22 18:51:27.954592737 +0100
***************
*** 701,702 ****
--- 701,704 ----
{ /* Add new patch number below this line */
+ /**/
+ 551,
/**/
--
hundred-and-one symptoms of being an internet addict:
135. You cut classes or miss work so you can stay home and browse the web.
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///