aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/autocmd.c
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-01-28 23:06:30 -0500
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-01-28 23:43:15 -0500
commitc77b679ecd142f42a307ce1d5a1974f9bbb47911 (patch)
treeac96579f8a697731203ce42a6e785a2f5ccf07da /src/nvim/autocmd.c
parentf05ffaef1c184986e653739f7844a592f781483b (diff)
downloadrneovim-c77b679ecd142f42a307ce1d5a1974f9bbb47911.tar.gz
rneovim-c77b679ecd142f42a307ce1d5a1974f9bbb47911.tar.bz2
rneovim-c77b679ecd142f42a307ce1d5a1974f9bbb47911.zip
vim-patch:8.2.2420: too many problems with using all autocommand events
Problem: Too many problems with using all autocommand events. Solution: Disallow defining an autocommand for all events. https://github.com/vim/vim/commit/9a046fd08bcae319d39a4dbde2be81decee19013 Delete Test_wipe_cbuffer(). Commit dc5f4a3cc2f7f02e1ff4ec2f67eda4fb73e7d89c should have removed it.
Diffstat (limited to 'src/nvim/autocmd.c')
-rw-r--r--src/nvim/autocmd.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c
index 42224d0a4f..140a9c6bcb 100644
--- a/src/nvim/autocmd.c
+++ b/src/nvim/autocmd.c
@@ -700,11 +700,15 @@ void do_autocmd(char_u *arg_in, int forceit)
last_event = (event_T)-1; // for listing the event name
last_group = AUGROUP_ERROR; // for listing the group name
if (*arg == '*' || *arg == NUL || *arg == '|') {
- for (event_T event = (event_T)0; event < (int)NUM_EVENTS;
- event = (event_T)(event + 1)) {
- if (do_autocmd_event(event, pat, once, nested, cmd, forceit, group)
- == FAIL) {
- break;
+ if (!forceit && *cmd != NUL) {
+ EMSG(_(e_cannot_define_autocommands_for_all_events));
+ } else {
+ for (event_T event = (event_T)0; event < (int)NUM_EVENTS;
+ event = (event_T)(event + 1)) {
+ if (do_autocmd_event(event, pat, once, nested, cmd, forceit, group)
+ == FAIL) {
+ break;
+ }
}
}
} else {