From 6aca4d3c2bb6b60cdf51b2ab49fbec6b8f88c890 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 4 Mar 2022 17:10:19 +0000 Subject: 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 #9870) --- src/ex_docmd.c | 4 ++++ src/testdir/test_vim9_script.vim | 25 +++++++++++++++---------- src/version.c | 2 ++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 36a7386eb..287045bc5 100644 --- 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 index 87acff6f0..70a3ffbe3 100644 --- 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 index 51dc6de62..6a21b8a9a 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 4503, /**/ 4502, /**/ -- cgit v1.2.1