patch 8.1.1732: completion in cmdwin does not work for buffer-local commands

Problem:    Completion in cmdwin does not work for buffer-local commands.
Solution:   Use the right buffer. (closes #4711)
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index d88b003..c028df3 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -313,3 +313,21 @@
   bwipe!
   set completeopt&
 endfunc
+
+func Test_compl_in_cmdwin()
+  set wildmenu wildchar=<Tab>
+  com! -nargs=1 -complete=command GetInput let input = <q-args>
+  com! -buffer TestCommand echo 'TestCommand'
+
+  let input = ''
+  call feedkeys("q:iGetInput T\<C-x>\<C-v>\<CR>", 'tx!')
+  call assert_equal('TestCommand', input)
+
+  let input = ''
+  call feedkeys("q::GetInput T\<Tab>\<CR>:q\<CR>", 'tx!')
+  call assert_equal('T', input)
+
+  delcom TestCommand
+  delcom GetInput
+  set wildmenu& wildchar&
+endfunc
diff --git a/src/usercmd.c b/src/usercmd.c
index 9e09a8b..c04c80e 100644
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -309,9 +309,16 @@
     char_u *
 get_user_commands(expand_T *xp UNUSED, int idx)
 {
-    if (idx < curbuf->b_ucmds.ga_len)
-	return USER_CMD_GA(&curbuf->b_ucmds, idx)->uc_name;
-    idx -= curbuf->b_ucmds.ga_len;
+    // In cmdwin, the alternative buffer should be used.
+    buf_T *buf =
+#ifdef FEAT_CMDWIN
+	(cmdwin_type != 0 && get_cmdline_type() == NUL) ? prevwin->w_buffer :
+#endif
+	curbuf;
+
+    if (idx < buf->b_ucmds.ga_len)
+	return USER_CMD_GA(&buf->b_ucmds, idx)->uc_name;
+    idx -= buf->b_ucmds.ga_len;
     if (idx < ucmds.ga_len)
 	return USER_CMD(idx)->uc_name;
     return NULL;
@@ -395,7 +402,13 @@
     long	a;
     garray_T	*gap;
 
-    gap = &curbuf->b_ucmds;
+    /* In cmdwin, the alternative buffer should be used. */
+    gap =
+#ifdef FEAT_CMDWIN
+	(cmdwin_type != 0 && get_cmdline_type() == NUL) ?
+	&prevwin->w_buffer->b_ucmds :
+#endif
+	&curbuf->b_ucmds;
     for (;;)
     {
 	for (i = 0; i < gap->ga_len; ++i)
diff --git a/src/version.c b/src/version.c
index d8b3dfe..cdff0d3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1732,
+/**/
     1731,
 /**/
     1730,