diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-02-23 21:26:58 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-02-23 21:26:58 +0000 |
commit | 80a94a582cd2d5307d1e65ec06fe0fb05f60d7c9 (patch) | |
tree | aff2c0d22bf46c67d702d07b7ce0d160c09d7e23 /src/quickfix.c | |
parent | d1f56e68f1315687ff5b913e2577f11b0b620573 (diff) | |
download | vim-git-80a94a582cd2d5307d1e65ec06fe0fb05f60d7c9.tar.gz |
updated for version 7.0205
Diffstat (limited to 'src/quickfix.c')
-rw-r--r-- | src/quickfix.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/quickfix.c b/src/quickfix.c index a29f06784..7319e8077 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -1472,14 +1472,17 @@ qf_jump(qi, dir, errornr, forceit) /* * For ":helpgrep" find a help window or open one. */ - if (qf_ptr->qf_type == 1 && !curwin->w_buffer->b_help) + if (qf_ptr->qf_type == 1 && (!curwin->w_buffer->b_help || cmdmod.tab != 0)) { win_T *wp; int n; - for (wp = firstwin; wp != NULL; wp = wp->w_next) - if (wp->w_buffer != NULL && wp->w_buffer->b_help) - break; + if (cmdmod.tab != 0) + wp = NULL; + else + for (wp = firstwin; wp != NULL; wp = wp->w_next) + if (wp->w_buffer != NULL && wp->w_buffer->b_help) + break; if (wp != NULL && wp->w_buffer->b_nwindows > 0) win_enter(wp, TRUE); else @@ -2182,6 +2185,7 @@ ex_copen(eap) qf_info_T *qi = &ql_info; int height; win_T *win; + tabpage_T *prevtab = curtab; if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) { @@ -2210,7 +2214,7 @@ ex_copen(eap) */ win = qf_find_win(qi); - if (win != NULL) + if (win != NULL && cmdmod.tab == 0) win_goto(win); else { @@ -2247,10 +2251,13 @@ ex_copen(eap) set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL); set_option_value((char_u *)"diff", 0L, (char_u *)"", OPT_LOCAL); + /* Only set the height when still in the same tab page and there is no + * window to the side. */ + if (curtab == prevtab #ifdef FEAT_VERTSPLIT - /* Only set the height when there is no window to the side. */ - if (curwin->w_width == Columns) + && curwin->w_width == Columns #endif + ) win_setheight(height); curwin->w_p_wfh = TRUE; /* set 'winfixheight' */ if (win_valid(win)) |