summaryrefslogtreecommitdiff
path: root/src/terminal.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-06-18 22:15:50 +0200
committerBram Moolenaar <Bram@vim.org>2018-06-18 22:15:50 +0200
commit0ce7413a8318ec0b01386c54ee09d3d94216cb15 (patch)
tree63f3d5e5d301ce3357cebd674ed4a6b89716e2f3 /src/terminal.c
parent252b7ee82384520e20df7728387a1a441c47c6e6 (diff)
downloadvim-git-0ce7413a8318ec0b01386c54ee09d3d94216cb15.tar.gz
patch 8.1.0076: command getting cleared with CTRL-W : in a terminal windowv8.1.0076
Problem: Command getting cleared with CTRL-W : in a terminal window. (Jason Franklin) Solution: Call redraw_after_callback() when editing the command line.
Diffstat (limited to 'src/terminal.c')
-rw-r--r--src/terminal.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/terminal.c b/src/terminal.c
index f4fa55165..a67c87a4b 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -973,11 +973,13 @@ write_to_term(buf_T *buffer, char_u *msg, channel_T *channel)
* contents, thus no screen update is needed. */
if (!term->tl_normal_mode)
{
- /* TODO: only update once in a while. */
+ // Don't use update_screen() when editing the command line, it gets
+ // cleared.
+ // TODO: only update once in a while.
ch_log(term->tl_job->jv_channel, "updating screen");
- if (buffer == curbuf)
+ if (buffer == curbuf && (State & CMDLINE) == 0)
{
- update_screen(0);
+ update_screen(VALID_NO_UPDATE);
/* update_screen() can be slow, check the terminal wasn't closed
* already */
if (buffer == curbuf && curbuf->b_term != NULL)