patch 9.0.1708: getcompletion() failes for user-defined commands

Problem: getcompletion() failes for user-defined commands
Solution: set context for completion function

closes: #12681
closes: #12680

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index ff38b69..ba3af3c 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -3498,4 +3498,14 @@
   call StopVimInTerminal(buf)
 endfunc
 
+func Test_usercmd_completion()
+  let g:complete=[]
+  command! -nargs=* -complete=command TestCompletion echo <q-args>
+  let g:complete = getcompletion('TestCompletion ', 'cmdline')
+  let a = getcompletion('', 'cmdline')
+
+  call assert_equal(a, g:complete)
+  delcom TestCompletion
+  unlet! g:complete
+endfunc
 " vim: shiftwidth=2 sts=2 expandtab