changeset 13894:3969c9d3a859 v8.0.1818

patch 8.0.1818: lines remove from wrong buffer when using terminal window commit https://github.com/vim/vim/commit/3f1a53c4349a309c3f4acf358d3cf18f9c455050 Author: Bram Moolenaar <Bram@vim.org> Date: Sat May 12 16:55:14 2018 +0200 patch 8.0.1818: lines remove from wrong buffer when using terminal window Problem: Lines remove from wrong buffer when using terminal window. Solution: Make sure to use tl_buffer.
author Christian Brabandt <cb@256bit.org>
date Sat, 12 May 2018 17:00:06 +0200
parents 2a15ae6c368b
children 029663b959ff
files src/terminal.c src/version.c
diffstat 2 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1462,6 +1462,7 @@ cleanup_scrollback(term_T *term)
     sb_line_T	*line;
     garray_T	*gap;
 
+    curbuf = term->tl_buffer;
     gap = &term->tl_scrollback;
     while (curbuf->b_ml.ml_line_count > term->tl_scrollback_scrolled
 							    && gap->ga_len > 0)
@@ -1471,7 +1472,9 @@ cleanup_scrollback(term_T *term)
 	vim_free(line->sb_cells);
 	--gap->ga_len;
     }
-    check_cursor();
+    curbuf = curwin->w_buffer;
+    if (curbuf == term->tl_buffer)
+	check_cursor();
 }
 
 /*
@@ -1495,8 +1498,8 @@ move_terminal_to_buffer(term_T *term)
 
     /* Nothing to do if the buffer already has the lines and nothing was
      * changed. */
-    if (!term->tl_dirty_snapshot
-		  && curbuf->b_ml.ml_line_count > term->tl_scrollback_scrolled)
+    if (!term->tl_dirty_snapshot && term->tl_buffer->b_ml.ml_line_count
+						> term->tl_scrollback_scrolled)
 	return;
 
     ch_log(term->tl_job == NULL ? NULL : term->tl_job->jv_channel,
--- 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 */
 /**/
+    1818,
+/**/
     1817,
 /**/
     1816,