Patch 8.0.1029
Problem:    Return value of getqflist() is inconsistent.  (Lcd47)
Solution:   Always return an "items" entry.
Files:      src/quickfix.c, src/testdir/test_quickfix.vim


*** ../vim-8.0.1028/src/quickfix.c      2017-08-30 20:33:51.758040889 +0200
--- src/quickfix.c      2017-08-31 20:57:31.618489833 +0200
***************
*** 4653,4658 ****
--- 4653,4663 ----
            || (di->di_tv.v_type == VAR_LIST
                && di->di_tv.vval.v_list != NULL))
      {
+       list_T  *l = list_alloc();
+ 
+       if (l == NULL)
+           return FAIL;
+ 
        qi = (qf_info_T *)alloc((unsigned)sizeof(qf_info_T));
        if (qi != NULL)
        {
***************
*** 4662,4678 ****
            if (qf_init_ext(qi, 0, NULL, NULL, &di->di_tv, p_efm,
                        TRUE, (linenr_T)0, (linenr_T)0, NULL, NULL) > 0)
            {
!               list_T  *l = list_alloc();
!               if (l != NULL)
!               {
!                   (void)get_errorlist(qi, NULL, 0, l);
!                   dict_add_list(retdict, "items", l);
!                   status = OK;
!               }
                qf_free(qi, 0);
            }
            free(qi);
        }
      }
  
      return status;
--- 4667,4679 ----
            if (qf_init_ext(qi, 0, NULL, NULL, &di->di_tv, p_efm,
                        TRUE, (linenr_T)0, (linenr_T)0, NULL, NULL) > 0)
            {
!               (void)get_errorlist(qi, NULL, 0, l);
                qf_free(qi, 0);
            }
            free(qi);
        }
+       dict_add_list(retdict, "items", l);
+       status = OK;
      }
  
      return status;
*** ../vim-8.0.1028/src/testdir/test_quickfix.vim       2017-08-30 
20:33:51.758040889 +0200
--- src/testdir/test_quickfix.vim       2017-08-31 20:49:36.633680015 +0200
***************
*** 2536,2542 ****
    call assert_equal(30, l[1].lnum)
  
    call assert_equal({}, g:Xgetlist({'text' : 10}))
!   call assert_equal({}, g:Xgetlist({'text' : []}))
  
    " Make sure that the quickfix stack is not modified
    call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
--- 2536,2542 ----
    call assert_equal(30, l[1].lnum)
  
    call assert_equal({}, g:Xgetlist({'text' : 10}))
!   call assert_equal([], g:Xgetlist({'text' : []}).items)
  
    " Make sure that the quickfix stack is not modified
    call assert_equal(0, g:Xgetlist({'nr' : '$'}).nr)
*** ../vim-8.0.1028/src/version.c       2017-08-31 20:42:14.940643583 +0200
--- src/version.c       2017-08-31 20:51:19.464989381 +0200
***************
*** 771,772 ****
--- 771,774 ----
  {   /* Add new patch number below this line */
+ /**/
+     1029,
  /**/

-- 
Just remember...if the world didn't suck, we'd all fall off.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui