patch 8.2.1581: using line() for global popup window doesn't work
Problem: Using line() for global popup window doesn't work.
Solution: Set tabpage to "curtab". (closes #6847)
diff --git a/src/evalwindow.c b/src/evalwindow.c
index b50776d..3ddd96b 100644
--- a/src/evalwindow.c
+++ b/src/evalwindow.c
@@ -117,7 +117,7 @@
if (wp->w_id == id)
{
if (tpp != NULL)
- *tpp = tp;
+ *tpp = curtab; // any tabpage would do
return wp;
}
#endif
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 9e35c7f..ec4898f 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2239,6 +2239,18 @@
call delete('XtestPopupSetText')
endfunc
+func Test_popup_settext_getline()
+ let id = popup_create('', #{ tabpage: 0 })
+ call popup_settext(id, ['a','b'])
+ call assert_equal(2, line('$', id)) " OK :)
+ call popup_close(id)
+
+ let id = popup_create('', #{ tabpage: -1 })
+ call popup_settext(id, ['a','b'])
+ call assert_equal(2, line('$', id)) " Fails :(
+ call popup_close(id)
+endfunc
+
func Test_popup_hidden()
new
diff --git a/src/version.c b/src/version.c
index 8d20b46..39e81bc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1581,
+/**/
1580,
/**/
1579,