# HG changeset patch # User Bram Moolenaar # Date 1599152404 -7200 # Node ID 0716b3299872b57bb7bfc11bb292ab10b7947f4c # Parent bc6af644cd49e6ff8da551bc9c895cf5f356391a patch 8.2.1581: using line() for global popup window doesn't work Commit: https://github.com/vim/vim/commit/1f42f5a675fdab9ce5cdafbecea59c45e81f7ff8 Author: Bram Moolenaar Date: Thu Sep 3 18:52:24 2020 +0200 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 https://github.com/vim/vim/issues/6847) diff --git a/src/evalwindow.c b/src/evalwindow.c --- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -117,7 +117,7 @@ win_id2wp_tp(int id, tabpage_T **tpp) 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 --- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -2239,6 +2239,18 @@ func Test_popup_settext() 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 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1581, +/**/ 1580, /**/ 1579,