patch 8.2.0359: popup_atcursor() may hang
Problem: popup_atcursor() may hang. (Yasuhiro Matsumoto) Solution: Take the decoration into account. (closes #5728)
This commit is contained in:
@ -1232,8 +1232,9 @@ popup_adjust_position(win_T *wp)
|
||||
|| wp->w_popup_pos == POPPOS_BOTLEFT))
|
||||
{
|
||||
wp->w_wincol = wantcol - 1;
|
||||
if (wp->w_wincol >= Columns - 1)
|
||||
wp->w_wincol = Columns - 1;
|
||||
// Need to see at least one character after the decoration.
|
||||
if (wp->w_wincol > Columns - left_extra - 1)
|
||||
wp->w_wincol = Columns - left_extra - 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3293,4 +3293,17 @@ func Test_popupwin_filter_input_multibyte()
|
||||
unlet g:bytes
|
||||
endfunc
|
||||
|
||||
func Test_popupwin_atcursor_far_right()
|
||||
new
|
||||
|
||||
" this was getting stuck
|
||||
set signcolumn=yes
|
||||
call setline(1, repeat('=', &columns))
|
||||
normal! ggg$
|
||||
call popup_atcursor(repeat('x', 500), #{moved: 'any', border: []})
|
||||
|
||||
bwipe!
|
||||
set signcolumn&
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2
|
||||
|
||||
@ -738,6 +738,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
359,
|
||||
/**/
|
||||
358,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user