patch 9.0.0346: :horizontal modifier not fully supported

Problem:    :horizontal modifier not fully supported.
Solution:   Also use :horizontal for completion and user commands.
            (closes #11025)
diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 5cdb1be..bfa3053 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -1776,6 +1776,7 @@
 	case CMD_folddoclosed:
 	case CMD_folddoopen:
 	case CMD_hide:
+	case CMD_horizontal:
 	case CMD_keepalt:
 	case CMD_keepjumps:
 	case CMD_keepmarks:
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 681ab2c..9f7875f 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2455,6 +2455,7 @@
 	    case CMD_final:
 	    case CMD_help:
 	    case CMD_hide:
+	    case CMD_horizontal:
 	    case CMD_ijump:
 	    case CMD_ilist:
 	    case CMD_isearch:
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 95db663..bec0f5f 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -1078,6 +1078,10 @@
   call feedkeys(":all abc\<C-A>\<C-B>\"\<CR>", 'xt')
   call assert_equal("\"all abc\<C-A>", @:)
 
+  " completion for :wincmd with :horizontal modifier
+  call feedkeys(":horizontal wincm\<C-A>\<C-B>\"\<CR>", 'xt')
+  call assert_equal("\"horizontal wincmd", @:)
+
   " completion for a command with a command modifier
   call feedkeys(":topleft new\<C-A>\<C-B>\"\<CR>", 'xt')
   call assert_equal("\"topleft new", @:)
diff --git a/src/testdir/test_usercommands.vim b/src/testdir/test_usercommands.vim
index 9c75a91..91d8bfd 100644
--- a/src/testdir/test_usercommands.vim
+++ b/src/testdir/test_usercommands.vim
@@ -103,6 +103,10 @@
   call assert_equal('vertical', g:mods)
   vert MyCmd
   call assert_equal('vertical', g:mods)
+  horizontal MyCmd
+  call assert_equal('horizontal', g:mods)
+  hor MyCmd
+  call assert_equal('horizontal', g:mods)
 
   aboveleft belowright botright browse confirm hide keepalt keepjumps
 	      \ keepmarks keeppatterns lockmarks noautocmd noswapfile silent
diff --git a/src/usercmd.c b/src/usercmd.c
index 7113511..6b3eadc 100644
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -1443,6 +1443,9 @@
     // :vertical
     if (cmod->cmod_split & WSP_VERT)
 	result += add_cmd_modifier(buf, "vertical", multi_mods);
+    // :horizontal
+    if (cmod->cmod_split & WSP_HOR)
+	result += add_cmd_modifier(buf, "horizontal", multi_mods);
     return result;
 }
 
diff --git a/src/version.c b/src/version.c
index 0e46347..f6cdb1c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    346,
+/**/
     345,
 /**/
     344,