diff options
author | LemonBoy <thatlemon@gmail.com> | 2022-04-20 19:00:36 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-04-20 19:00:36 +0100 |
commit | 8530b41fd3872c9a1349b083470d565677948518 (patch) | |
tree | 31596c39cee2f1852608083c2a0ce1a54e0f9b7c | |
parent | da1050cd6fbb67cfde5b4a149d8d9db80bb4351c (diff) |
patch 8.2.4797: getwininfo() may get oudated valuesv8.2.4797
Problem: getwininfo() may get oudated values.
Solution: Make sure w_botline is up-to-date. (closes #10226)
-rw-r--r-- | src/evalwindow.c | 3 | ||||
-rw-r--r-- | src/testdir/test_bufwintabinfo.vim | 22 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/evalwindow.c b/src/evalwindow.c index 53fd1e3569..43a6d63ef6 100644 --- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -395,6 +395,9 @@ get_win_info(win_T *wp, short tpnr, short winnr) 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); diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim index 1d8e74a0dd..403b98a365 100644 --- 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 diff --git a/src/version.c b/src/version.c index 74c0832e90..6bed251bb1 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4797, +/**/ 4796, /**/ 4795, |