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)
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    76,
+/**/
     75,
 /**/
     74,