From 1f42f5a675fdab9ce5cdafbecea59c45e81f7ff8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 3 Sep 2020 18:52:24 +0200 Subject: 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) --- src/evalwindow.c | 2 +- src/testdir/test_popupwin.vim | 12 ++++++++++++ src/version.c | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/evalwindow.c b/src/evalwindow.c index b50776d74..3ddd96bcb 100644 --- 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 index 9e35c7ffc..ec4898fa6 100644 --- 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 index 8d20b46be..39e81bc9a 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 */ +/**/ + 1581, /**/ 1580, /**/ -- cgit v1.2.1