# HG changeset patch # User Bram Moolenaar # Date 1646414103 -3600 # Node ID 2485bf68de34d43d18deddfffab9eda829c1b241 # Parent e88daba055aca78c6ac4e1c41c709fc427aacc12 patch 8.2.4503: Vim9: there is no point in supporting :Print and :mode Commit: https://github.com/vim/vim/commit/6aca4d3c2bb6b60cdf51b2ab49fbec6b8f88c890 Author: Bram Moolenaar Date: Fri Mar 4 17:10:19 2022 +0000 patch 8.2.4503: Vim9: there is no point in supporting :Print and :mode Problem: Vim9: there is no point in supporting :Print and :mode. Solution: Do not recognize :Print and :mode as commands. (closes https://github.com/vim/vim/issues/9870) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3752,6 +3752,10 @@ find_ex_command( break; } + // :Print and :mode are not supported in Vim9 script + if (vim9 && (eap->cmdidx == CMD_mode || eap->cmdidx == CMD_Print)) + eap->cmdidx = CMD_SIZE; + // Do not recognize ":*" as the star command unless '*' is in // 'cpoptions'. if (eap->cmdidx == CMD_star && vim_strchr(p_cpo, CPO_STAR) == NULL) diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -3589,32 +3589,37 @@ def Test_unsupported_commands() var lines =<< trim END ka END - v9.CheckDefFailure(lines, 'E476:') - v9.CheckScriptFailure(['vim9script'] + lines, 'E492:') + v9.CheckDefAndScriptFailure(lines, ['E476:', 'E492:']) lines =<< trim END :1ka END - v9.CheckDefFailure(lines, 'E476:') - v9.CheckScriptFailure(['vim9script'] + lines, 'E492:') + v9.CheckDefAndScriptFailure(lines, ['E476:', 'E492:']) lines =<< trim END t END - v9.CheckDefFailure(lines, 'E1100:') - v9.CheckScriptFailure(['vim9script'] + lines, 'E1100:') + v9.CheckDefAndScriptFailure(lines, 'E1100:') lines =<< trim END x END - v9.CheckDefFailure(lines, 'E1100:') - v9.CheckScriptFailure(['vim9script'] + lines, 'E1100:') + v9.CheckDefAndScriptFailure(lines, 'E1100:') lines =<< trim END xit END - v9.CheckDefFailure(lines, 'E1100:') - v9.CheckScriptFailure(['vim9script'] + lines, 'E1100:') + v9.CheckDefAndScriptFailure(lines, 'E1100:') + + lines =<< trim END + Print + END + v9.CheckDefAndScriptFailure(lines, ['E476: Invalid command: Print', 'E492: Not an editor command: Print']) + + lines =<< trim END + mode 4 + END + v9.CheckDefAndScriptFailure(lines, ['E476: Invalid command: mode 4', 'E492: Not an editor command: mode 4']) enddef def Test_mapping_line_number() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4503, +/**/ 4502, /**/ 4501,