diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-04-30 19:39:39 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-04-30 19:39:39 +0200 |
commit | 29ae377ea7039874337bc79ace9ab2b37b9056e5 (patch) | |
tree | a5465827750a2fd9ee93324138a2157550af62fd /src/ex_getln.c | |
parent | 45d2cca1ea3f90fc70ad99d0c6812a9d8536303c (diff) |
patch 8.0.0592: if a job writes to a buffer screen is not updatedv8.0.0592
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.
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r-- | src/ex_getln.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index c42abe983f..c7a6d852df 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -3337,10 +3337,17 @@ cmdline_del(int from) void redrawcmdline(void) { + redrawcmdline_ex(TRUE); +} + + void +redrawcmdline_ex(int do_compute_cmdrow) +{ if (cmd_silent) return; need_wait_return = FALSE; - compute_cmdrow(); + if (do_compute_cmdrow) + compute_cmdrow(); redrawcmd(); cursorcmd(); } |