Mercurial > vim
diff src/term.c @ 11455:08e60ce4cbf3 v8.0.0611
patch 8.0.0611: the screen is not redrawn after sending t_u7
commit https://github.com/vim/vim/commit/976787d1f31451ca7a88e774a03e6c24ddc67876
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 4 15:45:50 2017 +0200
patch 8.0.0611: the screen is not redrawn after sending t_u7
Problem: When t_u7 is sent a few characters in the second screen line are
overwritten and not redrawn later. (Rastislav Barlik)
Solution: Move redrawing the screen to after overwriting the characters.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 04 Jun 2017 16:00:03 +0200 |
parents | ec47e673a021 |
children | 7e5e76d8d451 |
line wrap: on
line diff
--- a/src/term.c +++ b/src/term.c @@ -3333,9 +3333,13 @@ may_req_ambiguous_char_width(void) out_str(T_U7); u7_status = U7_SENT; out_flush(); + + /* This overwrites a few characters on the screen, a redraw is needed + * after this. Clear them out for now. */ term_windgoto(1, 0); out_str((char_u *)" "); term_windgoto(0, 0); + /* check for the characters now, otherwise they might be eaten by * get_keystroke() */ out_flush();