1
0
forked from aniani/vim

patch 8.2.3149: some plugins have a problem with the error check

Problem:    Some plugins have a problem with the error check for using
            :command with -complete but without -nargs.
Solution:   In legacy script only give a warning message.
This commit is contained in:
Bram Moolenaar
2021-07-11 19:12:04 +02:00
parent 5231224e11
commit cc7eb2aa7a
5 changed files with 52 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
" Tests for user defined commands
source vim9.vim
" Test for <mods> in user defined commands
function Test_cmdmods()
let g:mods = ''
@@ -270,13 +272,29 @@ func Test_CmdErrors()
call assert_fails('com! -complete=custom DoCmd :', 'E467:')
call assert_fails('com! -complete=customlist DoCmd :', 'E467:')
call assert_fails('com! -complete=behave,CustomComplete DoCmd :', 'E468:')
call assert_fails('com! -complete=file DoCmd :', 'E1208:')
call assert_fails('com! -nargs=0 -complete=file DoCmd :', 'E1208:')
call assert_fails('com! -nargs=x DoCmd :', 'E176:')
call assert_fails('com! -count=1 -count=2 DoCmd :', 'E177:')
call assert_fails('com! -count=x DoCmd :', 'E178:')
call assert_fails('com! -range=x DoCmd :', 'E178:')
com! -complete=file DoCmd :
call assert_match('E1208:', v:warningmsg)
let v:warningmsg = ''
com! -nargs=0 -complete=file DoCmd :
call assert_match('E1208:', v:warningmsg)
let lines =<< trim END
vim9script
com! -complete=file DoCmd :
END
call CheckScriptFailure(lines, 'E1208', 2)
let lines =<< trim END
vim9script
com! -nargs=0 -complete=file DoCmd :
END
call CheckScriptFailure(lines, 'E1208', 2)
com! -nargs=0 DoCmd :
call assert_fails('DoCmd x', 'E488:')