Mercurial > vim
changeset 16910:6a99709c6ae3 v8.1.1456
patch 8.1.1456: WinBar not redrawn after scrolling one line
commit https://github.com/vim/vim/commit/98fb65cb051f625f4ce291a9f9cdb2e54ac1e688
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 2 20:33:32 2019 +0200
patch 8.1.1456: WinBar not redrawn after scrolling one line
Problem: WinBar not redrawn after scrolling one line.
Solution: Exclude the winbar height when deciding what to redraw.
(closes #4473)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 02 Jun 2019 20:45:04 +0200 |
parents | 62f09dafee34 |
children | aedf7194c5a0 |
files | src/screen.c src/testdir/test_winbar.vim src/version.c |
diffstat | 3 files changed, 15 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/screen.c +++ b/src/screen.c @@ -645,7 +645,7 @@ update_screen(int type_arg) type = CLEAR; FOR_ALL_WINDOWS(wp) { - if (W_WINROW(wp) < msg_scrolled) + if (wp->w_winrow < msg_scrolled) { if (W_WINROW(wp) + wp->w_height > msg_scrolled && wp->w_redr_type < REDRAW_TOP
--- a/src/testdir/test_winbar.vim +++ b/src/testdir/test_winbar.vim @@ -110,3 +110,15 @@ func Test_click_in_other_winbar() bwipe! endfunc + +func Test_redraw_after_scroll() + new + amenu 1.10 WinBar.Next :let g:did_next = 11<CR> + redraw + call assert_equal(" Next", Screenline(1)) + echo "some\nmore" + redraw + call assert_equal(" Next", Screenline(1)) + bwipe! +endfunc +