diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-02-28 08:26:00 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-28 08:26:00 +0800 |
commit | 1b632e99f231baca8a640502a352aa68aee0568a (patch) | |
tree | 47047905f92ee23e728ddec757c49d23ea40afb5 | |
parent | 2630341db65772e0a636c2a1cfbd6bba8ca9b28d (diff) | |
download | rneovim-1b632e99f231baca8a640502a352aa68aee0568a.tar.gz rneovim-1b632e99f231baca8a640502a352aa68aee0568a.tar.bz2 rneovim-1b632e99f231baca8a640502a352aa68aee0568a.zip |
vim-patch:9.0.1362: ml_get error when going to another tab (#22443)
Problem: ml_get error when going to another tab. (Daniel J. Perry)
Solution: Do not call update_topline() if "curwin" is invalid.
(closes vim/vim#11907)
https://github.com/vim/vim/commit/99ad3a8bb95c6f860545a050472b6181e33bac1a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
-rw-r--r-- | src/nvim/testdir/test_tabpage.vim | 15 | ||||
-rw-r--r-- | src/nvim/window.c | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_tabpage.vim b/src/nvim/testdir/test_tabpage.vim index b97aa409d8..c20c798c49 100644 --- a/src/nvim/testdir/test_tabpage.vim +++ b/src/nvim/testdir/test_tabpage.vim @@ -846,4 +846,19 @@ func Test_lastused_tabpage() tabonly! endfunc +" this was giving ml_get errors +func Test_tabpage_last_line() + enew + call setline(1, repeat(['a'], &lines + 5)) + $ + tabnew + call setline(1, repeat(['b'], &lines + 20)) + $ + tabNext + call assert_equal('a', getline('.')) + + bwipe! + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/window.c b/src/nvim/window.c index 6a8d1cf740..38b7326363 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -4813,7 +4813,7 @@ static void win_enter_ext(win_T *const wp, const int flags) // Might need to scroll the old window before switching, e.g., when the // cursor was moved. - if (*p_spk == 'c') { + if (*p_spk == 'c' && !curwin_invalid) { update_topline(curwin); } |