Mercurial > vim
comparison src/ex_cmds2.c @ 16594:6f52e82d9d4e v8.1.1300
patch 8.1.1300: in a terminal 'ballooneval' does not work right away
commit https://github.com/vim/vim/commit/2f10658b06bbdd8f25c4ff152266c808234cee0a
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed May 8 21:59:25 2019 +0200
patch 8.1.1300: in a terminal 'ballooneval' does not work right away
Problem: In a terminal 'ballooneval' does not work right away.
Solution: Flush output after drawing the balloon. Add the <Ignore> key
code. Add a test.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 08 May 2019 22:00:05 +0200 |
parents | 6e87a69b8e0c |
children | 8f0ea605ec96 |
comparison
equal
deleted
inserted
replaced
16593:2181d6152fd1 | 16594:6f52e82d9d4e |
---|---|
227 | 227 |
228 # if defined(FEAT_TIMERS) || defined(PROTO) | 228 # if defined(FEAT_TIMERS) || defined(PROTO) |
229 static timer_T *first_timer = NULL; | 229 static timer_T *first_timer = NULL; |
230 static long last_timer_id = 0; | 230 static long last_timer_id = 0; |
231 | 231 |
232 /* | |
233 * Return time left until "due". Negative if past "due". | |
234 */ | |
232 long | 235 long |
233 proftime_time_left(proftime_T *due, proftime_T *now) | 236 proftime_time_left(proftime_T *due, proftime_T *now) |
234 { | 237 { |
235 # ifdef MSWIN | 238 # ifdef MSWIN |
236 LARGE_INTEGER fr; | 239 LARGE_INTEGER fr; |
443 { | 446 { |
444 balloonEval = (BalloonEval *)alloc_clear(sizeof(BalloonEval)); | 447 balloonEval = (BalloonEval *)alloc_clear(sizeof(BalloonEval)); |
445 balloonEvalForTerm = TRUE; | 448 balloonEvalForTerm = TRUE; |
446 } | 449 } |
447 if (balloonEval != NULL) | 450 if (balloonEval != NULL) |
451 { | |
448 general_beval_cb(balloonEval, 0); | 452 general_beval_cb(balloonEval, 0); |
453 setcursor(); | |
454 out_flush(); | |
455 } | |
449 } | 456 } |
450 else if (next_due == -1 || next_due > this_due) | 457 else if (next_due == -1 || next_due > this_due) |
451 next_due = this_due; | 458 next_due = this_due; |
452 } | 459 } |
453 #endif | 460 #endif |