patch 8.0.0656: cannot use ! after some user commands

Problem:    Cannot use ! after some user commands.
Solution:   Properly check for existing command. (Higashi Higashi)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 9dac9bf..bdd152d 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2370,7 +2370,8 @@
 	goto doend;
     }
     /* Check for wrong commands. */
-    if (*p == '!' && ea.cmd[1] == 0151 && ea.cmd[0] == 78)
+    if (*p == '!' && ea.cmd[1] == 0151 && ea.cmd[0] == 78
+	    && !IS_USER_CMDIDX(ea.cmdidx))
     {
 	errormsg = uc_fun_cmd();
 	goto doend;
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index c09e234..c0736f2 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -1400,6 +1400,15 @@
     delfunc! Xtest
 endfunc
 
+" Test using bang after user command				    {{{1
+func Test_user_command_with_bang()
+    command -bang Nieuw let nieuw = 1
+    Ni!
+    call assert_equal(1, nieuw)
+    unlet nieuw
+    delcommand Nieuw
+endfunc
+
 "-------------------------------------------------------------------------------
 " Modelines								    {{{1
 " vim: ts=8 sw=4 tw=80 fdm=marker
diff --git a/src/version.c b/src/version.c
index 533660f..fd57e48 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    656,
+/**/
     655,
 /**/
     654,