]> granicus.if.org Git - vim/commitdiff
patch 8.1.0076: command getting cleared with CTRL-W : in a terminal window v8.1.0076
authorBram Moolenaar <Bram@vim.org>
Mon, 18 Jun 2018 20:15:50 +0000 (22:15 +0200)
committerBram Moolenaar <Bram@vim.org>
Mon, 18 Jun 2018 20:15:50 +0000 (22:15 +0200)
Problem:    Command getting cleared with CTRL-W : in a terminal window. (Jason
            Franklin)
Solution:   Call redraw_after_callback() when editing the command line.

src/terminal.c
src/version.c

index f4fa551659198d1813b3c890c0d39ebde420470c..a67c87a4bed2d70ce2e4395f06731d457457b993 100644 (file)
@@ -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)
index bc79f7d2a731bd093cc65531f4fdc554f4a611ee..04923fb3fb9d1e2520d18b92e94e2a003218d03b 100644 (file)
@@ -761,6 +761,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    76,
 /**/
     75,
 /**/