Mercurial > vim
changeset 14117:08b0b6d6cbe7 v8.1.0076
patch 8.1.0076: command getting cleared with CTRL-W : in a terminal window
commit https://github.com/vim/vim/commit/0ce7413a8318ec0b01386c54ee09d3d94216cb15
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jun 18 22:15:50 2018 +0200
patch 8.1.0076: command getting cleared with CTRL-W : in a terminal window
Problem: Command getting cleared with CTRL-W : in a terminal window. (Jason
Franklin)
Solution: Call redraw_after_callback() when editing the command line.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 18 Jun 2018 22:30:07 +0200 |
parents | 93b3df1f617c |
children | 7a3d99c2911a |
files | src/terminal.c src/version.c |
diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/terminal.c +++ b/src/terminal.c @@ -973,11 +973,13 @@ write_to_term(buf_T *buffer, char_u *msg * 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)