summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLemonBoy <thatlemon@gmail.com>2022-04-20 19:00:36 +0100
committerBram Moolenaar <Bram@vim.org>2022-04-20 19:00:36 +0100
commit8530b41fd3872c9a1349b083470d565677948518 (patch)
tree31596c39cee2f1852608083c2a0ce1a54e0f9b7c
parentda1050cd6fbb67cfde5b4a149d8d9db80bb4351c (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.c3
-rw-r--r--src/testdir/test_bufwintabinfo.vim22
-rw-r--r--src/version.c2
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,