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

patch 8.2.4505: Vim9: outdated "autocmd nested" still works

Problem:    Vim9: outdated "autocmd nested" still works.
Solution:   Do not accept the :autocmd argument "nested" without "++" in Vim9
            script.
This commit is contained in:
Bram Moolenaar
2022-03-04 20:10:38 +00:00
parent 196c3850db
commit f07751457c
4 changed files with 24 additions and 2 deletions

View File

@@ -921,16 +921,30 @@ do_autocmd(exarg_T *eap, char_u *arg_in, int forceit)
if ((STRNCMP(cmd, "++nested", 8) == 0 && VIM_ISWHITE(cmd[8])))
{
if (nested)
{
semsg(_(e_duplicate_argument_str), "++nested");
return;
}
nested = TRUE;
cmd = skipwhite(cmd + 8);
}
// Check for the old "nested" flag.
// Check for the old "nested" flag in legacy script.
if (STRNCMP(cmd, "nested", 6) == 0 && VIM_ISWHITE(cmd[6]))
{
if (in_vim9script())
{
// If there ever is a :nested command this error should
// be removed and "nested" accepted as the start of the
// command.
emsg(_(e_invalid_command_nested_did_you_mean_plusplus_nested));
return;
}
if (nested)
{
semsg(_(e_duplicate_argument_str), "nested");
return;
}
nested = TRUE;
cmd = skipwhite(cmd + 6);
}