vim-patch:8.0.1160: getting tab-local variable fails after closing window

Problem:    Getting tab-local variable fails after closing window.
Solution:   set tp_firstwin and tp_lastwin. (Jason Franklin, closes vim/vim#2170)
816968defc
This commit is contained in:
Jan Edmund Lazo
2018-07-14 11:20:59 -04:00
parent d671168574
commit 059986e038
3 changed files with 28 additions and 9 deletions

View File

@@ -10222,7 +10222,8 @@ static void f_gettabvar(typval_T *argvars, typval_T *rettv, FunPtr fptr)
if (tp != NULL && varname != NULL) {
// Set tp to be our tabpage, temporarily. Also set the window to the
// first window in the tabpage, otherwise the window is not valid.
win_T *window = tp->tp_firstwin == NULL ? firstwin : tp->tp_firstwin;
win_T *window = tp == curtab || tp->tp_firstwin == NULL ? firstwin
: tp->tp_firstwin;
if (switch_win(&oldcurwin, &oldtabpage, window, tp, true) == OK) {
// look up the variable
// Let gettabvar({nr}, "") return the "t:" dictionary.