Mercurial > vim
changeset 21877:7fb29e719d79 v8.2.1488
patch 8.2.1488: text does not scroll when inserting above first line
Commit: https://github.com/vim/vim/commit/9dc1917f42b23277e143fc58bbe27482b0b76bad
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Aug 19 20:19:48 2020 +0200
patch 8.2.1488: text does not scroll when inserting above first line
Problem: Text does not scroll when inserting above first line.
Solution: Adjust off-by-one error. (Ken Takata, closes https://github.com/vim/vim/issues/6739)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 19 Aug 2020 20:30:04 +0200 |
parents | 43877f9603c1 |
children | 53a227dbb5c5 |
files | src/drawscreen.c src/testdir/dumps/Test_display_scroll_at_topline.dump src/testdir/test_display.vim src/version.c |
diffstat | 4 files changed, 19 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/drawscreen.c +++ b/src/drawscreen.c @@ -1662,7 +1662,7 @@ win_update(win_T *wp) if (mod_top != 0 && wp->w_topline == mod_top && (!wp->w_lines[0].wl_valid - || wp->w_topline == wp->w_lines[0].wl_lnum)) + || wp->w_topline <= wp->w_lines[0].wl_lnum)) { // w_topline is the first changed line and window is not scrolled, // the scrolling from changed lines will be done further down.
new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_display_scroll_at_topline.dump @@ -0,0 +1,4 @@ +> +0&#ffffff0@19 +|a@19 +@1| @18 +|~+0#4040ff13&| @18
--- a/src/testdir/test_display.vim +++ b/src/testdir/test_display.vim @@ -245,4 +245,16 @@ func Test_visual_block_scroll() call delete(filename) endfunc +func Test_display_scroll_at_topline() + CheckScreendump + + let buf = RunVimInTerminal('', #{cols: 20}) + call term_sendkeys(buf, ":call setline(1, repeat('a', 21))\<CR>") + call term_wait(buf) + call term_sendkeys(buf, "O\<Esc>") + call VerifyScreenDump(buf, 'Test_display_scroll_at_topline', #{rows: 4}) + + call StopVimInTerminal(buf) +endfunc + " vim: shiftwidth=2 sts=2 expandtab