diff options
-rw-r--r-- | src/ex_docmd.c | 4 | ||||
-rw-r--r-- | src/globals.h | 1 | ||||
-rw-r--r-- | src/if_cscope.c | 2 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/window.c | 5 |
5 files changed, 12 insertions, 2 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 1152a18a73..71a7fa1801 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -7980,8 +7980,10 @@ ex_wincmd(eap) { /* Pass flags on for ":vertical wincmd ]". */ postponed_split_flags = cmdmod.split; + postponed_split_tab = cmdmod.tab; do_window(*eap->arg, eap->addr_count > 0 ? eap->line2 : 0L, xchar); postponed_split_flags = 0; + postponed_split_tab = 0; } } #endif @@ -9189,8 +9191,10 @@ ex_stag(eap) { postponed_split = -1; postponed_split_flags = cmdmod.split; + postponed_split_tab = cmdmod.tab; ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1); postponed_split_flags = 0; + postponed_split_tab = 0; } #endif diff --git a/src/globals.h b/src/globals.h index 54785a4f15..0493e8b8aa 100644 --- a/src/globals.h +++ b/src/globals.h @@ -1030,6 +1030,7 @@ EXTERN linenr_T write_no_eol_lnum INIT(= 0); /* non-zero lnum when last line #ifdef FEAT_WINDOWS EXTERN int postponed_split INIT(= 0); /* for CTRL-W CTRL-] command */ EXTERN int postponed_split_flags INIT(= 0); /* args for win_split() */ +EXTERN int postponed_split_tab INIT(= 0); /* cmdmod.tab */ # ifdef FEAT_QUICKFIX EXTERN int g_do_tagpreview INIT(= 0); /* for tag preview commands: height of preview window */ diff --git a/src/if_cscope.c b/src/if_cscope.c index fd831393a2..3e430168fe 100644 --- a/src/if_cscope.c +++ b/src/if_cscope.c @@ -128,6 +128,7 @@ do_cscope_general(eap, make_split) } postponed_split = -1; postponed_split_flags = cmdmod.split; + postponed_split_tab = cmdmod.tab; } #endif @@ -135,6 +136,7 @@ do_cscope_general(eap, make_split) #ifdef FEAT_WINDOWS postponed_split_flags = 0; + postponed_split_tab = 0; #endif } diff --git a/src/version.c b/src/version.c index d577c50b31..1517d0a1dc 100644 --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 216, +/**/ 215, /**/ 214, diff --git a/src/window.c b/src/window.c index aa4d26a0bb..40aa2f062b 100644 --- a/src/window.c +++ b/src/window.c @@ -3290,11 +3290,12 @@ win_new_tabpage(after) int may_open_tabpage() { - int n = cmdmod.tab; + int n = (cmdmod.tab == 0) ? postponed_split_tab : cmdmod.tab; - if (cmdmod.tab != 0) + if (n != 0) { cmdmod.tab = 0; /* reset it to avoid doing it twice */ + postponed_split_tab = 0; return win_new_tabpage(n); } return FAIL; |