Mercurial > vim
diff src/terminal.c @ 12092:bf3a61119baf v8.0.0926
patch 8.0.0926: when job in terminal window ends topline is wrong
commit https://github.com/vim/vim/commit/e0f314aa8d0e2099d2e4e5665fe13199752adc8e
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Aug 13 16:01:31 2017 +0200
patch 8.0.0926: when job in terminal window ends topline is wrong
Problem: When job in terminal window ends topline may be wrong.
Solution: When the job ends adjust topline so that the active part of the
terminal is displayed.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 13 Aug 2017 16:15:04 +0200 |
parents | ca1e425a5fbf |
children | 125994e132c7 |
line wrap: on
line diff
--- a/src/terminal.c +++ b/src/terminal.c @@ -926,6 +926,13 @@ move_terminal_to_buffer(term_T *term) wp->w_cursor.lnum = term->tl_buffer->b_ml.ml_line_count; wp->w_cursor.col = 0; wp->w_valid = 0; + if (wp->w_cursor.lnum >= wp->w_height) + { + linenr_T min_topline = wp->w_cursor.lnum - wp->w_height + 1; + + if (wp->w_topline < min_topline) + wp->w_topline = min_topline; + } redraw_win_later(wp, NOT_VALID); } }