diff options
Diffstat (limited to 'src/nvim/ex_docmd.c')
-rw-r--r-- | src/nvim/ex_docmd.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 9102ba63bb..e8930bd0f6 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -7974,6 +7974,17 @@ makeopens ( return FAIL; } + int restore_stal = FALSE; + // When there are two or more tabpages and 'showtabline' is 1 the tabline + // will be displayed when creating the next tab. That resizes the windows + // in the first tab, which may cause problems. Set 'showtabline' to 2 + // temporarily to avoid that. + if (p_stal == 1 && first_tabpage->tp_next != NULL) { + if (put_line(fd, "set stal=2") == FAIL) { + return FAIL; + } + restore_stal = TRUE; + } /* * May repeat putting Windows for each tab, when "tabpages" is in @@ -8113,6 +8124,9 @@ makeopens ( || put_eol(fd) == FAIL) return FAIL; } + if (restore_stal && put_line(fd, "set stal=1") == FAIL) { + return FAIL; + } /* * Wipe out an empty unnamed buffer we started in. |