# HG changeset patch # User Christian Brabandt # Date 1501099206 -7200 # Node ID 4bc1f94afc346f657327dc7551ddd315251140f9 # Parent 40665c2582638639250cb11faaaeb86bb55ac736 patch 8.0.0778: in a terminal the cursor may be hidden commit https://github.com/vim/vim/commit/4cc93dc85a7aaf6bb1ccccc466f8d5fa523094e4 Author: Bram Moolenaar Date: Wed Jul 26 21:49:37 2017 +0200 patch 8.0.0778: in a terminal the cursor may be hidden Problem: In a terminal the cursor may be hidden and screen updating lags behind. (Nazri Ramliy) Solution: Switch the cursor on and flush output when needed. (Ozaki Kiichi) diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -321,13 +321,14 @@ term_write_job_output(term_T *term, char static void update_cursor(term_T *term, int redraw) { - /* TODO: this should not always be needed */ setcursor(); - if (redraw && term->tl_buffer == curbuf && term->tl_cursor_visible) + if (redraw && term->tl_buffer == curbuf) { + if (term->tl_cursor_visible) + cursor_on(); out_flush(); #ifdef FEAT_GUI - if (gui.in_use) + if (gui.in_use && term->tl_cursor_visible) gui_update_cursor(FALSE, FALSE); #endif } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 778, +/**/ 777, /**/ 776,