# HG changeset patch # User Christian Brabandt # Date 1440516027 -7200 # Node ID e8eccb9621f72b6b3d24f244126e04250bb57175 # Parent 0c84d2003fa6a88f6b206eb48851cefd4402cd35 commit https://github.com/vim/vim/commit/7e47d1ac6a9ae0e5a7167aa34ff651a9c39c1641 Author: Bram Moolenaar Date: Tue Aug 25 16:19:05 2015 +0200 patch 7.4.834 Problem: gettabvar() doesn't work after Vim start. (Szymon Wrozynski) Solution: Handle first window in tab still being NULL. (Christian Brabandt) diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -12291,7 +12291,8 @@ f_gettabvar(argvars, rettv) { /* Set tp to be our tabpage, temporarily. Also set the window to the * first window in the tabpage, otherwise the window is not valid. */ - if (switch_win(&oldcurwin, &oldtabpage, tp->tp_firstwin, tp, TRUE) + if (switch_win(&oldcurwin, &oldtabpage, + tp->tp_firstwin == NULL ? firstwin : tp->tp_firstwin, tp, TRUE) == OK) { /* look up the variable */ diff --git a/src/testdir/test91.in b/src/testdir/test91.in --- a/src/testdir/test91.in +++ b/src/testdir/test91.in @@ -5,8 +5,12 @@ STARTTEST :so small.vim :so mbyte.vim :" +:" Use strings to test for memory leaks. +:" First, check that in an empty window, gettabvar() returns the correct value +:let t:testvar='abcd' +:$put =string(gettabvar(1,'testvar')) +:$put =string(gettabvar(1,'testvar')) :" Test for getbufvar() -:" Use strings to test for memory leaks. :let b:var_num = '1234' :let def_num = '5678' :$put =string(getbufvar(1, 'var_num')) diff --git a/src/testdir/test91.ok b/src/testdir/test91.ok --- a/src/testdir/test91.ok +++ b/src/testdir/test91.ok @@ -1,4 +1,6 @@ start: +'abcd' +'abcd' '1234' '1234' {'var_num': '1234'} diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 834, +/**/ 833, /**/ 832,