Mercurial > vim
comparison src/terminal.c @ 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 | 279465096a16 |
children | 4d3f6bf86bec |
comparison
equal
deleted
inserted
replaced
14116:93b3df1f617c | 14117:08b0b6d6cbe7 |
---|---|
971 #endif | 971 #endif |
972 /* In Terminal-Normal mode we are displaying the buffer, not the terminal | 972 /* In Terminal-Normal mode we are displaying the buffer, not the terminal |
973 * contents, thus no screen update is needed. */ | 973 * contents, thus no screen update is needed. */ |
974 if (!term->tl_normal_mode) | 974 if (!term->tl_normal_mode) |
975 { | 975 { |
976 /* TODO: only update once in a while. */ | 976 // Don't use update_screen() when editing the command line, it gets |
977 // cleared. | |
978 // TODO: only update once in a while. | |
977 ch_log(term->tl_job->jv_channel, "updating screen"); | 979 ch_log(term->tl_job->jv_channel, "updating screen"); |
978 if (buffer == curbuf) | 980 if (buffer == curbuf && (State & CMDLINE) == 0) |
979 { | 981 { |
980 update_screen(0); | 982 update_screen(VALID_NO_UPDATE); |
981 /* update_screen() can be slow, check the terminal wasn't closed | 983 /* update_screen() can be slow, check the terminal wasn't closed |
982 * already */ | 984 * already */ |
983 if (buffer == curbuf && curbuf->b_term != NULL) | 985 if (buffer == curbuf && curbuf->b_term != NULL) |
984 update_cursor(curbuf->b_term, TRUE); | 986 update_cursor(curbuf->b_term, TRUE); |
985 } | 987 } |