forked from aniani/vim
patch 8.1.1088: height of quickfix window not retained with vertical split
Problem: Height of quickfix window not retained with vertical split. Solution: Use frame_fixed_height() and frame_fixed_width(). (Hongbo Liu, closes #4013, closes #2998)
This commit is contained in:
@@ -158,3 +158,29 @@ func Test_winfixwidth_on_close()
|
|||||||
%bwipeout!
|
%bwipeout!
|
||||||
setlocal nowinfixwidth splitbelow& splitright&
|
setlocal nowinfixwidth splitbelow& splitright&
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
" Test that 'winfixheight' will be respected even there is non-leaf frame
|
||||||
|
fun! Test_winfixheight_non_leaf_frame()
|
||||||
|
vsplit
|
||||||
|
botright 11new
|
||||||
|
let l:wid = win_getid()
|
||||||
|
setlocal winfixheight
|
||||||
|
call assert_equal(11, winheight(l:wid))
|
||||||
|
botright new
|
||||||
|
bwipe!
|
||||||
|
call assert_equal(11, winheight(l:wid))
|
||||||
|
%bwipe!
|
||||||
|
endf
|
||||||
|
|
||||||
|
" Test that 'winfixwidth' will be respected even there is non-leaf frame
|
||||||
|
fun! Test_winfixwidth_non_leaf_frame()
|
||||||
|
split
|
||||||
|
topleft 11vnew
|
||||||
|
let l:wid = win_getid()
|
||||||
|
setlocal winfixwidth
|
||||||
|
call assert_equal(11, winwidth(l:wid))
|
||||||
|
topleft new
|
||||||
|
bwipe!
|
||||||
|
call assert_equal(11, winwidth(l:wid))
|
||||||
|
%bwipe!
|
||||||
|
endf
|
||||||
|
@@ -775,6 +775,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1088,
|
||||||
/**/
|
/**/
|
||||||
1087,
|
1087,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -2677,10 +2677,10 @@ winframe_remove(
|
|||||||
{
|
{
|
||||||
if (frp != NULL)
|
if (frp != NULL)
|
||||||
{
|
{
|
||||||
if (frp->fr_win != NULL && !frp->fr_win->w_p_wfh)
|
if (!frame_fixed_height(frp))
|
||||||
{
|
{
|
||||||
frp2 = frp;
|
frp2 = frp;
|
||||||
wp = frp->fr_win;
|
wp = frame2win(frp2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
frp = frp->fr_prev;
|
frp = frp->fr_prev;
|
||||||
@@ -2714,10 +2714,10 @@ winframe_remove(
|
|||||||
{
|
{
|
||||||
if (frp != NULL)
|
if (frp != NULL)
|
||||||
{
|
{
|
||||||
if (frp->fr_win != NULL && !frp->fr_win->w_p_wfw)
|
if (!frame_fixed_width(frp))
|
||||||
{
|
{
|
||||||
frp2 = frp;
|
frp2 = frp;
|
||||||
wp = frp->fr_win;
|
wp = frame2win(frp2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
frp = frp->fr_prev;
|
frp = frp->fr_prev;
|
||||||
|
Reference in New Issue
Block a user