patch 8.2.0418: code in eval.c not sufficiently covered by tests

Problem:    Code in eval.c not sufficiently covered by tests.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5815)
diff --git a/src/testdir/test_usercommands.vim b/src/testdir/test_usercommands.vim
index f034508..e09dca5 100644
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -549,4 +549,25 @@
   call assert_equal("\nNo user-defined commands found", execute('command'))
 endfunc
 
+" Test for a custom user completion returning the wrong value type
+func Test_usercmd_custom()
+  func T1(a, c, p)
+    return "a\nb\n"
+  endfunc
+  command -nargs=* -complete=customlist,T1 TCmd1
+  call feedkeys(":T1 \<C-A>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"T1 ', @:)
+  delcommand TCmd1
+  delfunc T1
+
+  func T2(a, c, p)
+    return ['a', 'b', 'c']
+  endfunc
+  command -nargs=* -complete=customlist,T2 TCmd2
+  call feedkeys(":T2 \<C-A>\<C-B>\"\<CR>", 'xt')
+  call assert_equal('"T2 ', @:)
+  delcommand TCmd2
+  delfunc T2
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab