forked from aniani/vim
patch 8.2.2067: cursor position in popup terminal is wrong
Problem: Cursor position in popup terminal is wrong. Solution: Don't check the flags.
This commit is contained in:
@@ -2207,9 +2207,7 @@ position_cursor(win_T *wp, VTermPos *pos)
|
|||||||
#ifdef FEAT_PROP_POPUP
|
#ifdef FEAT_PROP_POPUP
|
||||||
if (popup_is_popup(wp))
|
if (popup_is_popup(wp))
|
||||||
{
|
{
|
||||||
if ((wp->w_flags & WFLAG_WROW_OFF_ADDED) == 0)
|
|
||||||
wp->w_wrow += popup_top_extra(wp);
|
wp->w_wrow += popup_top_extra(wp);
|
||||||
if ((wp->w_flags & WFLAG_WCOL_OFF_ADDED) == 0)
|
|
||||||
wp->w_wcol += popup_left_extra(wp);
|
wp->w_wcol += popup_left_extra(wp);
|
||||||
wp->w_flags |= WFLAG_WCOL_OFF_ADDED | WFLAG_WROW_OFF_ADDED;
|
wp->w_flags |= WFLAG_WCOL_OFF_ADDED | WFLAG_WROW_OFF_ADDED;
|
||||||
}
|
}
|
||||||
|
@@ -2662,10 +2662,18 @@ func Test_popupwin_terminal_buffer()
|
|||||||
help
|
help
|
||||||
|
|
||||||
let termbuf = term_start(&shell, #{hidden: 1})
|
let termbuf = term_start(&shell, #{hidden: 1})
|
||||||
let winid = popup_create(termbuf, #{minwidth: 40, minheight: 10})
|
let winid = popup_create(termbuf, #{minwidth: 40, minheight: 10, border: []})
|
||||||
" Wait for shell to start
|
" Wait for shell to start and show a prompt
|
||||||
call WaitForAssert({-> assert_equal("run", job_status(term_getjob(termbuf)))})
|
call WaitForAssert({-> assert_equal("run", job_status(term_getjob(termbuf)))})
|
||||||
sleep 100m
|
sleep 20m
|
||||||
|
|
||||||
|
" When typing a character, the cursor is after it.
|
||||||
|
call feedkeys("x", 'xt')
|
||||||
|
sleep 10m
|
||||||
|
redraw
|
||||||
|
call WaitForAssert({ -> assert_equal('x', screenstring(screenrow(), screencol() - 1))})
|
||||||
|
call feedkeys("\<BS>", 'xt')
|
||||||
|
|
||||||
" Check this doesn't crash
|
" Check this doesn't crash
|
||||||
call assert_equal(winnr(), winnr('j'))
|
call assert_equal(winnr(), winnr('j'))
|
||||||
call assert_equal(winnr(), winnr('k'))
|
call assert_equal(winnr(), winnr('k'))
|
||||||
|
@@ -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 */
|
||||||
|
/**/
|
||||||
|
2067,
|
||||||
/**/
|
/**/
|
||||||
2066,
|
2066,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user