Mercurial > vim
changeset 28546:65ff2409cba4 v8.2.4797
patch 8.2.4797: getwininfo() may get oudated values
Commit: https://github.com/vim/vim/commit/8530b41fd3872c9a1349b083470d565677948518
Author: LemonBoy <thatlemon@gmail.com>
Date: Wed Apr 20 19:00:36 2022 +0100
patch 8.2.4797: getwininfo() may get oudated values
Problem: getwininfo() may get oudated values.
Solution: Make sure w_botline is up-to-date. (closes https://github.com/vim/vim/issues/10226)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 20 Apr 2022 20:15:03 +0200 |
parents | d89bd590e2b3 |
children | 870e183f36aa |
files | src/evalwindow.c src/testdir/test_bufwintabinfo.vim src/version.c |
diffstat | 3 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -395,6 +395,9 @@ get_win_info(win_T *wp, short tpnr, shor if (dict == NULL) return NULL; + // make sure w_botline is valid + validate_botline_win(wp); + dict_add_number(dict, "tabnr", tpnr); dict_add_number(dict, "winnr", winnr); dict_add_number(dict, "winid", wp->w_id);
--- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -172,4 +172,26 @@ func Test_getbufinfo_lines() bw! endfunc +func Test_getwininfo_au() + enew + call setline(1, range(1, 16)) + + let g:info = #{} + augroup T1 + au! + au WinEnter * let g:info = getwininfo(win_getid())[0] + augroup END + + 4split + " Check that calling getwininfo() from WinEnter returns fresh values for + " topline and botline. + call assert_equal(1, g:info.topline) + call assert_equal(4, g:info.botline) + close + + unlet g:info + augroup! T1 + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab