diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-12-16 08:54:13 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-16 08:54:13 +0800 |
commit | 72a19b2ffe93ab20f6ff1825e11b43da4e44842a (patch) | |
tree | 8c3dcfcc052c0c5d5e8b1895c2354938f357ba97 /src/nvim/api/command.c | |
parent | a2bf0cef10926880b28d542887d2d3836e332929 (diff) | |
download | rneovim-72a19b2ffe93ab20f6ff1825e11b43da4e44842a.tar.gz rneovim-72a19b2ffe93ab20f6ff1825e11b43da4e44842a.tar.bz2 rneovim-72a19b2ffe93ab20f6ff1825e11b43da4e44842a.zip |
fix(api): "emsg_silent" should imply "silent" in nvim_cmd (#21438)
Diffstat (limited to 'src/nvim/api/command.c')
-rw-r--r-- | src/nvim/api/command.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/api/command.c b/src/nvim/api/command.c index ac1927eeb1..abd265f2cf 100644 --- a/src/nvim/api/command.c +++ b/src/nvim/api/command.c @@ -660,6 +660,12 @@ String nvim_cmd(uint64_t channel_id, Dict(cmd) *cmd, Dict(cmd_opts) *opts, Error OBJ_TO_CMOD_FLAG(CMOD_LOCKMARKS, mods.lockmarks, false, "'mods.lockmarks'"); OBJ_TO_CMOD_FLAG(CMOD_NOSWAPFILE, mods.noswapfile, false, "'mods.noswapfile'"); + if (cmdinfo.cmdmod.cmod_flags & CMOD_ERRSILENT) { + // CMOD_ERRSILENT must imply CMOD_SILENT, otherwise apply_cmdmod() and undo_cmdmod() won't + // work properly. + cmdinfo.cmdmod.cmod_flags |= CMOD_SILENT; + } + if ((cmdinfo.cmdmod.cmod_flags & CMOD_SANDBOX) && !(ea.argt & EX_SBOXOK)) { VALIDATION_ERROR("Command cannot be run in sandbox"); } |