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 #10226)
This commit is contained in:
@ -395,6 +395,9 @@ get_win_info(win_T *wp, short tpnr, short winnr)
|
|||||||
if (dict == NULL)
|
if (dict == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
// make sure w_botline is valid
|
||||||
|
validate_botline_win(wp);
|
||||||
|
|
||||||
dict_add_number(dict, "tabnr", tpnr);
|
dict_add_number(dict, "tabnr", tpnr);
|
||||||
dict_add_number(dict, "winnr", winnr);
|
dict_add_number(dict, "winnr", winnr);
|
||||||
dict_add_number(dict, "winid", wp->w_id);
|
dict_add_number(dict, "winid", wp->w_id);
|
||||||
|
|||||||
@ -172,4 +172,26 @@ func Test_getbufinfo_lines()
|
|||||||
bw!
|
bw!
|
||||||
endfunc
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
|||||||
@ -746,6 +746,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4797,
|
||||||
/**/
|
/**/
|
||||||
4796,
|
4796,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user