patch 8.1.0972: cannot switch from terminal window to next tabpage
Problem: Cannot switch from terminal window to next tabpage.
Solution: Make CTRL-W gt move to next tabpage.
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 32cc212..ee50b57 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -1571,6 +1571,8 @@
func Test_terminal_termwinkey()
call assert_equal(1, winnr('$'))
let thiswin = win_getid()
+ tabnew
+ tabnext
let buf = Run_shell_in_terminal({})
let termwin = bufwinid(buf)
@@ -1578,12 +1580,22 @@
call feedkeys("\<C-L>w", 'tx')
call assert_equal(thiswin, win_getid())
call feedkeys("\<C-W>w", 'tx')
+ call assert_equal(termwin, win_getid())
+
+ let tnr = tabpagenr()
+ call feedkeys("\<C-L>gt", "xt")
+ call assert_notequal(tnr, tabpagenr())
+ tabnext
+ call assert_equal(tnr, tabpagenr())
+ call assert_equal(termwin, win_getid())
let job = term_getjob(buf)
call feedkeys("\<C-L>\<C-C>", 'tx')
call WaitForAssert({-> assert_equal("dead", job_status(job))})
set termwinkey&
+ tabnext
+ tabclose
endfunc
func Test_terminal_out_err()
diff --git a/src/version.c b/src/version.c
index 7c424e0..bd49a51 100644
--- a/src/version.c
+++ b/src/version.c
@@ -780,6 +780,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 972,
+/**/
971,
/**/
970,
diff --git a/src/window.c b/src/window.c
index c4b543d..83e3e9f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -67,7 +67,7 @@
static char *m_onlyone = N_("Already only one window");
/*
- * all CTRL-W window commands are handled here, called from normal_cmd().
+ * All CTRL-W window commands are handled here, called from normal_cmd().
*/
void
do_window(
@@ -584,6 +584,10 @@
nchar = xchar;
goto wingotofile;
#endif
+ case 't': // CTRL-W gt: go to next tab page
+ goto_tabpage((int)Prenum);
+ break;
+
default:
beep_flush();
break;