From 18b5d6df10a5f08ffebbec85a1cf2828871e3736 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 28 Feb 2016 19:30:24 +0100 Subject: patch 7.4.1452 Problem: When a callback adds a syntax item either the redraw doesn't happen right away or in the GUI the cursor is in the wrong position for a moment. (Jakson Alves de Aquino) Solution: Redraw after the callback was invoked. --- src/channel.c | 7 ++++++- src/version.c | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/channel.c b/src/channel.c index 5e8c6bd81..9e406abdb 100644 --- a/src/channel.c +++ b/src/channel.c @@ -945,10 +945,15 @@ invoke_callback(channel_T *channel, char_u *callback, typval_T *argv) clear_tv(&rettv); /* If an echo command was used the cursor needs to be put back where - * it belongs. */ + * it belongs. If highlighting was changed a redraw is needed. */ + update_screen(0); setcursor(); cursor_on(); out_flush(); +#ifdef FEAT_GUI + gui_update_cursor(TRUE, FALSE); + gui_mch_flush(); +#endif } /* diff --git a/src/version.c b/src/version.c index 86ed22317..4d3b32422 100644 --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1452, /**/ 1451, /**/ -- cgit v1.2.1