]> granicus.if.org Git - vim/commitdiff
patch 8.2.1618: Vim9: cannot pass "true" to setloclist() v8.2.1618
authorBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 20:37:39 +0000 (22:37 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 5 Sep 2020 20:37:39 +0000 (22:37 +0200)
Problem:    Vim9: cannot pass "true" to setloclist().
Solution:   Use dict_get_bool(). (closes #6882)

src/quickfix.c
src/testdir/test_vim9_func.vim
src/version.c

index 09d5d8fa09e75093dbf7134eb459d66b596d637b..c8858b456e2de24d74708d5d8c230e83bc7d9f43 100644 (file)
@@ -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
index 3fb84022f2820851c218e68562818ecebf448df8..47c37f0bd19d0983dc30c1dfa4afd9937cec3dbd 100644 (file)
@@ -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')
index d4224657f026a306f737937ae6906f9ff11f428b..5beab6d95975b872ba3a0260c637f06a7f67431f 100644 (file)
@@ -754,6 +754,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1618,
 /**/
     1617,
 /**/