From: Bram Moolenaar Date: Sun, 26 Jul 2020 20:20:54 +0000 (+0200) Subject: patch 8.2.1303: calling popup_setoptions() resets 'signcolumn' X-Git-Tag: v8.2.1303 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d585f4c5c8d120f768dd61bfd32f6e57ad562a7;p=vim patch 8.2.1303: calling popup_setoptions() resets 'signcolumn' Problem: Calling popup_setoptions() resets 'signcolumn'. Solution: Only set 'signcolumn' when creating the popup. (closes #6542) --- diff --git a/src/popupwin.c b/src/popupwin.c index fc69c90d9..d2b7f22f0 100644 --- a/src/popupwin.c +++ b/src/popupwin.c @@ -740,8 +740,6 @@ apply_general_options(win_T *wp, dict_T *dict) set_string_option_direct_in_win(wp, (char_u *)"wincolor", -1, str, OPT_FREE|OPT_LOCAL, 0); - set_string_option_direct_in_win(wp, (char_u *)"signcolumn", -1, - (char_u *)"no", OPT_FREE|OPT_LOCAL, 0); set_padding_border(dict, wp->w_popup_padding, "padding", 999); set_padding_border(dict, wp->w_popup_border, "border", 1); @@ -946,6 +944,10 @@ apply_options(win_T *wp, dict_T *dict) int nr; apply_move_options(wp, dict); + + set_string_option_direct_in_win(wp, (char_u *)"signcolumn", -1, + (char_u *)"no", OPT_FREE|OPT_LOCAL, 0); + apply_general_options(wp, dict); nr = dict_get_number(dict, (char_u *)"hidden"); diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim index 054d479ef..beb6870b6 100644 --- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -3115,6 +3115,11 @@ func Test_popupmenu_info_border() call term_sendkeys(buf, "a\\") call VerifyScreenDump(buf, 'Test_popupwin_infopopup_8', {}) + call term_sendkeys(buf, " \") + call term_sendkeys(buf, ":set completepopup+=width:10\") + call term_sendkeys(buf, "a\\") + call VerifyScreenDump(buf, 'Test_popupwin_infopopup_9', {}) + call term_sendkeys(buf, "\") call StopVimInTerminal(buf) call delete('XtestInfoPopup') @@ -3436,6 +3441,11 @@ func Test_popupwin_atcursor_far_right() normal! ggg$ let winid = popup_atcursor(repeat('x', 500), #{moved: 'any', border: []}) + " 'signcolumn' was getting reset + call setwinvar(winid, '&signcolumn', 'yes') + call popup_setoptions(winid, {'zindex': 1000}) + call assert_equal('yes', getwinvar(winid, '&signcolumn')) + call popup_close(winid) bwipe! set signcolumn& diff --git a/src/version.c b/src/version.c index e969ab0f3..73ab8c399 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1303, /**/ 1302, /**/