summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-03-04 17:10:19 +0000
committerBram Moolenaar <Bram@vim.org>2022-03-04 17:10:19 +0000
commit6aca4d3c2bb6b60cdf51b2ab49fbec6b8f88c890 (patch)
tree17d2add584594fb55ccc7c100acaa852d209af37
parentd979d64fa269ff47a96fc6aed2f4cdd066753c0c (diff)
downloadvim-git-8.2.4503.tar.gz
patch 8.2.4503: Vim9: there is no point in supporting :Print and :modev8.2.4503
Problem: Vim9: there is no point in supporting :Print and :mode. Solution: Do not recognize :Print and :mode as commands. (closes #9870)
-rw-r--r--src/ex_docmd.c4
-rw-r--r--src/testdir/test_vim9_script.vim25
-rw-r--r--src/version.c2
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
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 4503,
+/**/
4502,
/**/
4501,