From 650264367725af6740b94cfd24d9f5caf0e91356 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 6 Feb 2021 14:22:32 +0100 Subject: [PATCH] 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 #7786) --- src/popupwin.c | 2 +- src/testdir/test_popupwin.vim | 14 ++++++++++++++ src/version.c | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/popupwin.c b/src/popupwin.c index fddcaa1b4..0896f1700 100644 --- a/src/popupwin.c +++ b/src/popupwin.c @@ -2983,7 +2983,7 @@ f_popup_getoptions(typval_T *argvars, typval_T *rettv) 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 index 7335c1c13..11b1c4a99 100644 --- 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 index fb3a50ac6..73bb1e211 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2470, /**/ 2469, /**/