patch 8.2.4154: ml_get error when exchanging windows in Visual mode
Problem: ml_get error when exchanging windows in Visual mode. Solution: Correct end of Visual area when entering another buffer.
This commit is contained in:
@ -1318,5 +1318,15 @@ func Test_visual_block_insert_round_off()
|
|||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" this was causing an ml_get error
|
||||||
|
func Test_visual_exchange_windows()
|
||||||
|
enew!
|
||||||
|
new
|
||||||
|
call setline(1, ['foo', 'bar'])
|
||||||
|
exe "normal G\<C-V>gg\<C-W>\<C-X>OO\<Esc>"
|
||||||
|
bwipe!
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
|||||||
@ -750,6 +750,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 */
|
||||||
|
/**/
|
||||||
|
4154,
|
||||||
/**/
|
/**/
|
||||||
4153,
|
4153,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
@ -1691,6 +1691,11 @@ win_exchange(long Prenum)
|
|||||||
|
|
||||||
(void)win_comp_pos(); // recompute window positions
|
(void)win_comp_pos(); // recompute window positions
|
||||||
|
|
||||||
|
if (wp->w_buffer != curbuf)
|
||||||
|
reset_VIsual_and_resel();
|
||||||
|
else if (VIsual_active)
|
||||||
|
wp->w_cursor = curwin->w_cursor;
|
||||||
|
|
||||||
win_enter(wp, TRUE);
|
win_enter(wp, TRUE);
|
||||||
redraw_all_later(NOT_VALID);
|
redraw_all_later(NOT_VALID);
|
||||||
}
|
}
|
||||||
@ -5332,7 +5337,7 @@ frame_remove(frame_T *frp)
|
|||||||
win_alloc_lines(win_T *wp)
|
win_alloc_lines(win_T *wp)
|
||||||
{
|
{
|
||||||
wp->w_lines_valid = 0;
|
wp->w_lines_valid = 0;
|
||||||
wp->w_lines = ALLOC_CLEAR_MULT(wline_T, Rows );
|
wp->w_lines = ALLOC_CLEAR_MULT(wline_T, Rows);
|
||||||
if (wp->w_lines == NULL)
|
if (wp->w_lines == NULL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
return OK;
|
return OK;
|
||||||
|
|||||||
Reference in New Issue
Block a user