Mercurial > vim
comparison src/ex_getln.c @ 11416:32aed0993813 v8.0.0592
patch 8.0.0592: if a job writes to a buffer screen is not updated
commit https://github.com/vim/vim/commit/29ae377ea7039874337bc79ace9ab2b37b9056e5
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 30 19:39:39 2017 +0200
patch 8.0.0592: if a job writes to a buffer screen is not updated
Problem: If a job writes to a buffer and the user is typing a command, the
screen isn't updated. When a message is displayed the changed
buffer may cause it to be cleared. (Ramel Eshed)
Solution: Update the screen and then the command line if the screen didn't
scroll. Avoid inserting screen lines, as it clears any message.
Update the status line when the buffer changed.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 30 Apr 2017 19:45:03 +0200 |
parents | f57dce6b934b |
children | 578df034735d |
comparison
equal
deleted
inserted
replaced
11415:9a99bb6c075d | 11416:32aed0993813 |
---|---|
3335 * overwritten. | 3335 * overwritten. |
3336 */ | 3336 */ |
3337 void | 3337 void |
3338 redrawcmdline(void) | 3338 redrawcmdline(void) |
3339 { | 3339 { |
3340 redrawcmdline_ex(TRUE); | |
3341 } | |
3342 | |
3343 void | |
3344 redrawcmdline_ex(int do_compute_cmdrow) | |
3345 { | |
3340 if (cmd_silent) | 3346 if (cmd_silent) |
3341 return; | 3347 return; |
3342 need_wait_return = FALSE; | 3348 need_wait_return = FALSE; |
3343 compute_cmdrow(); | 3349 if (do_compute_cmdrow) |
3350 compute_cmdrow(); | |
3344 redrawcmd(); | 3351 redrawcmd(); |
3345 cursorcmd(); | 3352 cursorcmd(); |
3346 } | 3353 } |
3347 | 3354 |
3348 static void | 3355 static void |