diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-08-05 20:40:03 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-08-05 20:40:03 +0200 |
commit | 63b9173693015b135aad8e3657bef5e7f776787e (patch) | |
tree | 562fd413b11ae6a4c45f39538b89ec881aebf2cb /src/userfunc.c | |
parent | af647e76cacc60d3cfc5df3ff5b3d9d4b69b519d (diff) | |
download | vim-git-8.2.3297.tar.gz |
patch 8.2.3297: cannot use all commands inside a {} blockv8.2.3297
Problem: Cannot use all commands inside a {} block after :command and
:autocmd.
Solution: Do consider \n to separate commands. (closes #8620)
Diffstat (limited to 'src/userfunc.c')
-rw-r--r-- | src/userfunc.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/userfunc.c b/src/userfunc.c index 5cb3d92e6..79a6621b2 100644 --- a/src/userfunc.c +++ b/src/userfunc.c @@ -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: |