summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-10-20 18:13:14 +0000
committerBram Moolenaar <Bram@vim.org>2006-10-20 18:13:14 +0000
commit38c0a6e6faf4a0c11290c36fae9f188a80f1208c (patch)
tree6a0b9e76e33e5e8d0b410b28f7877198c3978ee4
parent2d8b2d8df908fa38a069aad313d0c5426c75a37a (diff)
downloadvim-git-38c0a6e6faf4a0c11290c36fae9f188a80f1208c.tar.gz
updated for version 7.0-146v7.0.146
-rw-r--r--src/buffer.c10
-rw-r--r--src/quickfix.c26
-rw-r--r--src/version.c2
3 files changed, 30 insertions, 8 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 55cef35d9..c9a91ceb3 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1208,11 +1208,11 @@ do_buffer(action, start, dir, count, forceit)
{
# ifdef FEAT_WINDOWS
/* jump to first window containing buf if one exists ("useopen") */
- if (vim_strchr(p_swb, 'o') && buf_jump_open_win(buf))
+ if (vim_strchr(p_swb, 'o') != NULL && buf_jump_open_win(buf))
return OK;
/* jump to first window in any tab page containing buf if one exists
* ("usetab") */
- if (vim_strchr(p_swb, 'a') && buf_jump_open_tab(buf))
+ if (vim_strchr(p_swb, 'a') != NULL && buf_jump_open_tab(buf))
return OK;
if (win_split(0, 0) == FAIL)
# endif
@@ -1842,13 +1842,13 @@ buflist_getfile(n, lnum, options, forceit)
if (options & GETF_SWITCH)
{
/* use existing open window for buffer if wanted */
- if (vim_strchr(p_swb, 'o')) /* useopen */
+ if (vim_strchr(p_swb, 'o') != NULL) /* useopen */
wp = buf_jump_open_win(buf);
/* use existing open window in any tab page for buffer if wanted */
- if (vim_strchr(p_swb, 'a')) /* usetab */
+ if (vim_strchr(p_swb, 'a') != NULL) /* usetab */
wp = buf_jump_open_tab(buf);
/* split window if wanted ("split") */
- if (wp == NULL && vim_strchr(p_swb, 't') && !bufempty())
+ if (wp == NULL && vim_strchr(p_swb, 'l') != NULL && !bufempty())
{
if (win_split(0, 0) == FAIL)
return FAIL;
diff --git a/src/quickfix.c b/src/quickfix.c
index 6c102d953..6268ec66f 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -1586,10 +1586,30 @@ qf_jump(qi, dir, errornr, forceit)
}
/*
- * If there is only one window, create a new one above the quickfix
- * window.
+ * If no usable window is found and 'switchbuf' is set to 'usetab'
+ * then search in other tabs.
*/
- if (firstwin == lastwin || !usable_win)
+ if (!usable_win && vim_strchr(p_swb, 'a') != NULL)
+ {
+ tabpage_T *tp;
+ win_T *wp;
+
+ FOR_ALL_TAB_WINDOWS(tp, wp)
+ {
+ if (wp->w_buffer->b_fnum == qf_ptr->qf_fnum)
+ {
+ goto_tabpage_win(tp, wp);
+ usable_win = 1;
+ break;
+ }
+ }
+ }
+
+ /*
+ * If there is only one window and is the quickfix window, create a new
+ * one above the quickfix window.
+ */
+ if (((firstwin == lastwin) && bt_quickfix(curbuf)) || !usable_win)
{
ll_ref = curwin->w_llist_ref;
diff --git a/src/version.c b/src/version.c
index 3f163f47c..f40299124 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 */
/**/
+ 146,
+/**/
145,
/**/
144,