Permalink
Browse files

patch 8.0.1427: the :leftabove modifier doesn't work for :copen

Problem:    The :leftabove modifier doesn't work for :copen.
Solution:   Respect the split modifier. (Yegappan Lakshmanan, closes #2496)
  • Loading branch information...
brammool committed Dec 26, 2017
1 parent 9e3dfc6 commit de04654ddc865af94ef04b1738b335a924be7923
Showing with 37 additions and 2 deletions.
  1. +8 −2 src/quickfix.c
  2. +27 −0 src/testdir/test_quickfix.vim
  3. +2 −0 src/version.c
View
@@ -3222,17 +3222,23 @@ ex_copen(exarg_T *eap)
}
else
{
int flags = 0;
qf_buf = qf_find_buf(qi);
/* The current window becomes the previous window afterwards. */
win = curwin;
if ((eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow)
&& cmdmod.split == 0)
/* Create the new window at the very bottom, except when
/* Create the new quickfix window at the very bottom, except when
* :belowright or :aboveleft is used. */
win_goto(lastwin);
if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
/* Default is to open the window below the current window */
if (cmdmod.split == 0)
flags = WSP_BELOW;
flags |= WSP_NEWLOC;
if (win_split(height, flags) == FAIL)
return; /* not enough room for window */
RESET_BINDING(curwin);
@@ -3078,3 +3078,30 @@ func Test_lvimgrep_crash()
augroup END
enew | only
endfunc
" Test for the position of the quickfix and location list window
func Test_qfwin_pos()
" Open two windows
new | only
new
cexpr ['F1:10:L10']
copen
" Quickfix window should be the bottom most window
call assert_equal(3, winnr())
close
" Open at the very top
wincmd t
topleft copen
call assert_equal(1, winnr())
close
" open left of the current window
wincmd t
below new
leftabove copen
call assert_equal(2, winnr())
close
" open right of the current window
rightbelow copen
call assert_equal(3, winnr())
close
endfunc
View
@@ -771,6 +771,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1427,
/**/
1426,
/**/

0 comments on commit de04654

Please sign in to comment.