# HG changeset patch # User Bram Moolenaar # Date 1612618204 -3600 # Node ID 16a19892e22e598a9d77a95f10a6f1ef87dcef1e # Parent 6f1eb8fe8b9b6eb92c7e9da5596c7d76b85f5a96 patch 8.2.2470: popup_getoptions() does not get textprop from other tab Commit: https://github.com/vim/vim/commit/650264367725af6740b94cfd24d9f5caf0e91356 Author: Bram Moolenaar Date: Sat Feb 6 14:22:32 2021 +0100 patch 8.2.2470: popup_getoptions() does not get textprop from other tab Problem: Popup_getoptions() does not get textprop from other tab. Solution: use win_valid_any_tab(). (closes https://github.com/vim/vim/issues/7786) diff --git a/src/popupwin.c b/src/popupwin.c --- a/src/popupwin.c +++ b/src/popupwin.c @@ -2983,7 +2983,7 @@ f_popup_getoptions(typval_T *argvars, ty dict_add_number(dict, "scrollbar", wp->w_want_scrollbar); dict_add_number(dict, "zindex", wp->w_zindex); dict_add_number(dict, "fixed", wp->w_popup_fixed); - if (wp->w_popup_prop_type && win_valid(wp->w_popup_prop_win)) + if (wp->w_popup_prop_type && win_valid_any_tab(wp->w_popup_prop_win)) { proptype_T *pt = text_prop_type_by_id( wp->w_popup_prop_win->w_buffer, diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim --- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -3803,4 +3803,18 @@ func Test_popup_filter_menu() call feedkeys("\\\\", 'xt') endfunc +func Test_popup_getoptions_other_tab() + new + call setline(1, 'some text') + call prop_type_add('textprop', {}) + call prop_add(1, 1, #{type: 'textprop', length: 1}) + let id = popup_create('TEST', #{textprop: 'textprop', highlight: 'ErrorMsg', tabpage: 1}) + tab sp + call assert_equal(['textprop', 'textpropid', 'textpropwin'], popup_getoptions(id)->keys()->filter({_, v -> v =~ 'textprop'})) + + tabclose + bwipe! + call prop_type_delete('textprop') +endfunc + " vim: shiftwidth=2 sts=2 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2470, +/**/ 2469, /**/ 2468,