diff src/channel.c @ 8320:e2021d6feeda v7.4.1452

commit https://github.com/vim/vim/commit/18b5d6df10a5f08ffebbec85a1cf2828871e3736 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Feb 28 19:30:24 2016 +0100 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.
author Christian Brabandt <cb@256bit.org>
date Sun, 28 Feb 2016 19:45:04 +0100
parents 190d8084cb3a
children ec940c11f749
line wrap: on
line diff
--- a/src/channel.c
+++ b/src/channel.c
@@ -945,10 +945,15 @@ invoke_callback(channel_T *channel, char
     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
 }
 
 /*