# HG changeset patch # User Christian Brabandt # Date 1501434905 -7200 # Node ID 45558e0507e8e0ba25d7a13b6382d6bde368d727 # Parent b4616f82466a997d91a30237543c817521b0ba74 patch 8.0.0820: GUI: cursor in terminal window lags behind commit https://github.com/vim/vim/commit/12d93ee26d4290321ed0cc3d0493b966d1475a66 Author: Bram Moolenaar Date: Sun Jul 30 19:02:02 2017 +0200 patch 8.0.0820: GUI: cursor in terminal window lags behind Problem: GUI: cursor in terminal window lags behind. Solution: call gui_update_cursor() under different conditions. (Ozaki Kiichi, closes #1893) diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -51,6 +51,9 @@ * job finishes). * - add option values to the command: * :term <24x80> vim notes.txt + * - support different cursor shapes, colors and attributes + * - make term_getcursor() return type (none/block/bar/underline) and + * attributes (color, blink, etc.) * - To set BS correctly, check get_stty(); Pass the fd of the pty. * - do not store terminal window in viminfo. Or prefix term:// ? * - add a character in :ls output @@ -359,7 +362,7 @@ update_cursor(term_T *term, int redraw) cursor_on(); out_flush(); #ifdef FEAT_GUI - if (gui.in_use && term->tl_cursor_visible) + if (gui.in_use) gui_update_cursor(FALSE, FALSE); #endif } @@ -1034,7 +1037,7 @@ handle_movecursor( if (term->tl_buffer == curbuf) { may_toggle_cursor(term); - update_cursor(term, TRUE); + update_cursor(term, term->tl_cursor_visible); } return 1; @@ -1180,11 +1183,12 @@ term_channel_closed(channel_T *ch) /* Need to break out of vgetc(). */ ins_char_typebuf(K_IGNORE); - if (curbuf->b_term != NULL) + term = curbuf->b_term; + if (term != NULL) { - if (curbuf->b_term->tl_job == ch->ch_job) + if (term->tl_job == ch->ch_job) maketitle(); - update_cursor(curbuf->b_term, TRUE); + update_cursor(term, term->tl_cursor_visible); } } } 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 */ /**/ + 820, +/**/ 819, /**/ 818,