Mercurial > vim
changeset 11547:3d03ed329a54 v8.0.0656
patch 8.0.0656: cannot use ! after some user commands
commit https://github.com/vim/vim/commit/6f9a476b2f2f0bb5c50d703ec4fc535ffd5bfe8f
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 22 20:39:17 2017 +0200
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)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 22 Jun 2017 20:45:04 +0200 |
parents | ec53a7fce93a |
children | edd5aab18670 |
files | src/ex_docmd.c src/testdir/test_vimscript.vim src/version.c |
diffstat | 3 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2370,7 +2370,8 @@ do_one_cmd( 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;
--- a/src/testdir/test_vimscript.vim +++ b/src/testdir/test_vimscript.vim @@ -1400,6 +1400,15 @@ func Test_delfunction_force() 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