From 401f0c07982247cc6d1cd22be08b05c44f7fd040 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 5 Sep 2020 22:37:39 +0200 Subject: [PATCH] patch 8.2.1618: Vim9: cannot pass "true" to setloclist() Problem: Vim9: cannot pass "true" to setloclist(). Solution: Use dict_get_bool(). (closes #6882) --- src/quickfix.c | 2 +- src/testdir/test_vim9_func.vim | 7 +++++++ src/version.c | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/quickfix.c b/src/quickfix.c index 09d5d8fa0..c8858b456 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -7072,7 +7072,7 @@ qf_add_entry_from_dict( // If the 'valid' field is present it overrules the detected value. if ((dict_find(d, (char_u *)"valid", -1)) != NULL) - valid = (int)dict_get_number(d, (char_u *)"valid"); + valid = (int)dict_get_bool(d, (char_u *)"valid", FALSE); status = qf_add_entry(qfl, NULL, // dir diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 3fb84022f..47c37f0bd 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -1614,6 +1614,13 @@ def Test_setbufvar() assert_equal(123, getbufvar('%', 'myvar')) enddef +def Test_setloclist() + let items = [#{filename: '/tmp/file', lnum: 1, valid: true}] + let what = #{items: items} + setqflist([], ' ', what) + setloclist(0, [], ' ', what) +enddef + def Test_setreg() setreg('a', ['aaa', 'bbb', 'ccc']) let reginfo = getreginfo('a') diff --git a/src/version.c b/src/version.c index d4224657f..5beab6d95 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 */ +/**/ + 1618, /**/ 1617, /**/ -- 2.50.1