0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 9.0.0318: clearing screen causes flicker

Problem:    Clearing screen causes flicker.
Solution:   Do not clear but redraw in more cases.  Add () to "wait_return".
This commit is contained in:
Bram Moolenaar
2022-08-29 15:06:50 +01:00
parent b13d3405ff
commit 13608d851a
14 changed files with 39 additions and 37 deletions

View File

@@ -94,7 +94,7 @@ static int verbose_did_open = FALSE;
/*
* msg(s) - displays the string 's' on the status line
* When terminal not initialized (yet) mch_errmsg(..) is used.
* return TRUE if wait_return not called
* return TRUE if wait_return() not called
*/
int
msg(char *s)
@@ -631,7 +631,7 @@ do_perror(char *msg)
* Rings the bell, if appropriate, and calls message() to do the real work
* When terminal not initialized (yet) mch_errmsg(..) is used.
*
* Return TRUE if wait_return not called.
* Return TRUE if wait_return() not called.
* Note: caller must check 'emsg_not_now()' before calling this.
*/
static int
@@ -758,7 +758,7 @@ emsg_core(char_u *s)
attr = HL_ATTR(HLF_E); // set highlight mode for error messages
if (msg_scrolled != 0)
need_wait_return = TRUE; // needed in case emsg() is called after
// wait_return has reset need_wait_return
// wait_return() has reset need_wait_return
// and a redraw is expected because
// msg_scrolled is non-zero
@@ -2456,7 +2456,7 @@ msg_puts_display(
{
#endif
inc_msg_scrolled();
need_wait_return = TRUE; // may need wait_return in main()
need_wait_return = TRUE; // may need wait_return() in main()
redraw_cmdline = TRUE;
if (cmdline_row > 0 && !exmode_active)
--cmdline_row;
@@ -3716,8 +3716,8 @@ msg_clr_cmdline(void)
/*
* end putting a message on the screen
* call wait_return if the message does not fit in the available space
* return TRUE if wait_return not called.
* call wait_return() if the message does not fit in the available space
* return TRUE if wait_return() not called.
*/
int
msg_end(void)