diff --git a/src/nvim/lua/stdlib.c b/src/nvim/lua/stdlib.c index 1b36da4fbb..c2e8394154 100644 --- a/src/nvim/lua/stdlib.c +++ b/src/nvim/lua/stdlib.c @@ -622,6 +622,12 @@ static int nlua_with(lua_State *L) int status = 0; int rets = 0; + if (flags & CMOD_ERRSILENT) { + // CMOD_ERRSILENT must imply CMOD_SILENT, otherwise apply_cmdmod() and undo_cmdmod() won't + // work properly. + flags |= CMOD_SILENT; + } + const int save_min_log_level = g_min_log_level; if (log_level >= 0) { g_min_log_level = log_level;