changeset 22137:faaf88167b58 v8.2.1618

patch 8.2.1618: Vim9: cannot pass "true" to setloclist() Commit: https://github.com/vim/vim/commit/401f0c07982247cc6d1cd22be08b05c44f7fd040 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Sep 5 22:37:39 2020 +0200 patch 8.2.1618: Vim9: cannot pass "true" to setloclist() Problem: Vim9: cannot pass "true" to setloclist(). Solution: Use dict_get_bool(). (closes https://github.com/vim/vim/issues/6882)
author Bram Moolenaar <Bram@vim.org>
date Sat, 05 Sep 2020 22:45:03 +0200
parents f9171654a423
children 356628b532d9
files src/quickfix.c src/testdir/test_vim9_func.vim src/version.c
diffstat 3 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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
--- 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')
--- 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 */
 /**/
+    1618,
+/**/
     1617,
 /**/
     1616,