0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

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)
This commit is contained in:
Bram Moolenaar
2022-03-04 17:10:19 +00:00
parent d979d64fa2
commit 6aca4d3c2b
3 changed files with 21 additions and 10 deletions

View File

@@ -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)

View File

@@ -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()

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
4503,
/**/
4502,
/**/