mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
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)
This commit is contained in:
@@ -3222,6 +3222,8 @@ ex_copen(exarg_T *eap)
|
||||
}
|
||||
else
|
||||
{
|
||||
int flags = 0;
|
||||
|
||||
qf_buf = qf_find_buf(qi);
|
||||
|
||||
/* The current window becomes the previous window afterwards. */
|
||||
@@ -3229,10 +3231,14 @@ ex_copen(exarg_T *eap)
|
||||
|
||||
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
|
||||
|
@@ -771,6 +771,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1427,
|
||||
/**/
|
||||
1426,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user