patch 8.2.2991: Vim9: no completion for :vim9 and :legacy

Problem:    Vim9: no completion for :vim9 and :legacy.
Solution:   Expand argument as a command. (closes #8377)
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index c5b8f70..ba31e92 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -1370,6 +1370,8 @@
 	case CMD_verbose:
 	case CMD_vertical:
 	case CMD_windo:
+	case CMD_vim9cmd:
+	case CMD_legacy:
 	    return arg;
 
 	case CMD_filter:
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index cf3362d..a05d010 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -804,6 +804,12 @@
   call feedkeys(":topleft new\<C-A>\<C-B>\"\<CR>", 'xt')
   call assert_equal("\"topleft new", @:)
 
+  " completion for vim9 and legacy commands
+  call feedkeys(":vim9 call strle\<C-A>\<C-B>\"\<CR>", 'xt')
+  call assert_equal("\"vim9 call strlen(", @:)
+  call feedkeys(":legac call strle\<C-A>\<C-B>\"\<CR>", 'xt')
+  call assert_equal("\"legac call strlen(", @:)
+
   " completion for the :match command
   call feedkeys(":match Search /pat/\<C-A>\<C-B>\"\<CR>", 'xt')
   call assert_equal("\"match Search /pat/\<C-A>", @:)
diff --git a/src/version.c b/src/version.c
index dfe1f8b..07c775b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2991,
+/**/
     2990,
 /**/
     2989,