patch 7.4.1912
Problem:    No test for using setqflist() on an older quickfix list.
Solution:   Add a couple of tests.
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index 242247d..6bcfa0c 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -752,9 +752,52 @@
   call SetXlistTests('c', bnum)
   call SetXlistTests('l', bnum)
 
+  enew!
   call delete('Xtestfile')
 endfunction
 
+func Test_setqflist_empty_middle()
+  " create three quickfix lists
+  vimgrep Test_ test_quickfix.vim
+  let testlen = len(getqflist())
+  call assert_true(testlen > 0)
+  vimgrep empty test_quickfix.vim
+  call assert_true(len(getqflist()) > 0)
+  vimgrep matches test_quickfix.vim
+  let matchlen = len(getqflist())
+  call assert_true(matchlen > 0)
+  colder
+  " make the middle list empty
+  call setqflist([], 'r')
+  call assert_true(len(getqflist()) == 0)
+  colder
+  call assert_equal(testlen, len(getqflist()))
+  cnewer
+  cnewer
+  call assert_equal(matchlen, len(getqflist()))
+endfunc
+
+func Test_setqflist_empty_older()
+  " create three quickfix lists
+  vimgrep one test_quickfix.vim
+  let onelen = len(getqflist())
+  call assert_true(onelen > 0)
+  vimgrep two test_quickfix.vim
+  let twolen = len(getqflist())
+  call assert_true(twolen > 0)
+  vimgrep three test_quickfix.vim
+  let threelen = len(getqflist())
+  call assert_true(threelen > 0)
+  colder 2
+  " make the first list empty, check the others didn't change
+  call setqflist([], 'r')
+  call assert_true(len(getqflist()) == 0)
+  cnewer
+  call assert_equal(twolen, len(getqflist()))
+  cnewer
+  call assert_equal(threelen, len(getqflist()))
+endfunc
+
 function! XquickfixSetListWithAct(cchar)
   let Xolder = a:cchar . 'older'
   let Xnewer = a:cchar . 'newer'