0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 8.2.3297: cannot use all commands inside a {} block

Problem:    Cannot use all commands inside a {} block after :command and
            :autocmd.
Solution:   Do consider \n to separate commands. (closes #8620)
This commit is contained in:
Bram Moolenaar
2021-08-05 20:40:03 +02:00
parent af647e76ca
commit 63b9173693
16 changed files with 90 additions and 36 deletions

View File

@@ -3842,7 +3842,7 @@ define_function(exarg_T *eap, char_u *name_arg)
{
if (!eap->skip)
list_functions(NULL);
eap->nextcmd = check_nextcmd(eap->arg);
set_nextcmd(eap, eap->arg);
return NULL;
}
@@ -3869,7 +3869,7 @@ define_function(exarg_T *eap, char_u *name_arg)
}
if (*p == '/')
++p;
eap->nextcmd = check_nextcmd(p);
set_nextcmd(eap, p);
return NULL;
}
@@ -3947,7 +3947,7 @@ define_function(exarg_T *eap, char_u *name_arg)
semsg(_(e_trailing_arg), p);
goto ret_free;
}
eap->nextcmd = check_nextcmd(p);
set_nextcmd(eap, p);
if (eap->nextcmd != NULL)
*p = NUL;
if (!eap->skip && !got_int)
@@ -4655,7 +4655,7 @@ ex_delfunction(exarg_T *eap)
semsg(_(e_trailing_arg), p);
return;
}
eap->nextcmd = check_nextcmd(p);
set_nextcmd(eap, p);
if (eap->nextcmd != NULL)
*p = NUL;
@@ -4844,7 +4844,7 @@ ex_return(exarg_T *eap)
if (returning)
eap->nextcmd = NULL;
else if (eap->nextcmd == NULL) // no argument
eap->nextcmd = check_nextcmd(arg);
set_nextcmd(eap, arg);
if (eap->skip)
--emsg_skip;
@@ -5004,7 +5004,7 @@ ex_call(exarg_T *eap)
}
}
else
eap->nextcmd = check_nextcmd(arg);
set_nextcmd(eap, arg);
}
end: