patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Problem: Vim9: cannot use "true" for popup window scrollbar option.
Solution: use dict_get_bool(). (closes #7029)
diff --git a/src/popupwin.c b/src/popupwin.c
index cdd7677..05db1af 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -665,9 +665,9 @@
wp->w_firstline = -1;
}
- di = dict_find(dict, (char_u *)"scrollbar", -1);
- if (di != NULL)
- wp->w_want_scrollbar = dict_get_number(dict, (char_u *)"scrollbar");
+ nr = dict_get_bool(dict, (char_u *)"scrollbar", -1);
+ if (nr != -1)
+ wp->w_want_scrollbar = nr;
str = dict_get_string(dict, (char_u *)"title", FALSE);
if (str != NULL)
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index 65a6805..fdd9ac4 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2168,6 +2168,21 @@
endif
endfunc
+ def CreatePopup(text: list<string>)
+ popup_create(text, #{
+ \ minwidth: 30,
+ \ maxwidth: 30,
+ \ minheight: 4,
+ \ maxheight: 4,
+ \ firstline: 1,
+ \ lastline: 4,
+ \ wrap: true,
+ \ scrollbar: true,
+ \ mapping: false,
+ \ filter: Popup_filter,
+ \ })
+ enddef
+
func PopupScroll()
call popup_clear()
let text =<< trim END
@@ -2179,18 +2194,7 @@
long line long line long line long line long line long line
long line long line long line long line long line long line
END
- call popup_create(text, #{
- \ minwidth: 30,
- \ maxwidth: 30,
- \ minheight: 4,
- \ maxheight: 4,
- \ firstline: 1,
- \ lastline: 4,
- \ wrap: v:true,
- \ scrollbar: v:true,
- \ mapping: v:false,
- \ filter: funcref('Popup_filter')
- \ })
+ call CreatePopup(text)
endfunc
map <silent> <F3> :call test_setmouse(5, 36)<CR>
map <silent> <F4> :call test_setmouse(4, 42)<CR>
diff --git a/src/version.c b/src/version.c
index d600618..60ab7d1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1763,
+/**/
1762,
/**/
1761,