Mercurial > vim
changeset 22429:909ce065e99a v8.2.1763
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Commit: https://github.com/vim/vim/commit/6c542f77eba73a95447f285149b3fcb011aa9675
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Sep 27 21:16:45 2020 +0200
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 https://github.com/vim/vim/issues/7029)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 27 Sep 2020 21:30:07 +0200 |
parents | a53dee41b3f0 |
children | 80be8e5a6b18 |
files | src/popupwin.c src/testdir/test_popupwin.vim src/version.c |
diffstat | 3 files changed, 21 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/src/popupwin.c +++ b/src/popupwin.c @@ -665,9 +665,9 @@ apply_general_options(win_T *wp, dict_T 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)
--- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -2168,6 +2168,21 @@ func Test_popup_scrollbar() 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 @@ func Test_popup_scrollbar() 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>