bw Xa Xb
endfunc
+func Test_window_curwin_not_prevwin()
+ botright split
+ call assert_equal(2, winnr())
+ call assert_equal(1, winnr('#'))
+ quit
+ call assert_equal(1, winnr())
+ call assert_equal(0, winnr('#'))
+
+ botright split
+ botright split
+ call assert_equal(3, winnr())
+ call assert_equal(2, winnr('#'))
+ 1quit
+ call assert_equal(2, winnr())
+ call assert_equal(1, winnr('#'))
+
+ botright split
+ call assert_equal(1, tabpagenr())
+ call assert_equal(3, winnr())
+ call assert_equal(2, winnr('#'))
+ wincmd T
+ call assert_equal(2, tabpagenr())
+ call assert_equal(1, winnr())
+ call assert_equal(0, winnr('#'))
+ tabfirst
+ call assert_equal(1, tabpagenr())
+ call assert_equal(2, winnr())
+ call assert_equal(0, winnr('#'))
+
+ tabonly
+ botright split
+ wincmd t
+ wincmd p
+ call assert_equal(3, winnr())
+ call assert_equal(1, winnr('#'))
+ quit
+ call assert_equal(2, winnr())
+ call assert_equal(1, winnr('#'))
+
+ botright split
+ wincmd t
+ wincmd p
+ call assert_equal(1, tabpagenr())
+ call assert_equal(3, winnr())
+ call assert_equal(1, winnr('#'))
+ wincmd T
+ call assert_equal(2, tabpagenr())
+ call assert_equal(1, winnr())
+ call assert_equal(0, winnr('#'))
+ tabfirst
+ call assert_equal(1, tabpagenr())
+ call assert_equal(2, winnr())
+ call assert_equal(1, winnr('#'))
+
+ tabonly
+ only
+endfunc
+
func Test_window_horizontal_split()
call assert_equal(1, winnr('$'))
3wincmd s
// may have to copy the buffer options when 'cpo' contains 'S'
if (wp->w_buffer != curbuf)
buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP);
+
if (curwin_invalid == 0)
{
prevwin = curwin; // remember for CTRL-W p
curwin->w_redr_status = TRUE;
}
+ else if (wp == prevwin)
+ prevwin = NULL; // don't want it to be the new curwin
+
curwin = wp;
curbuf = wp->w_buffer;
check_cursor();