aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/command.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-06-14 20:46:18 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-06-14 21:12:27 +0800
commit0a0cda95286bf62fbce2776a0c0081cea39a88a8 (patch)
tree03f43740a5822d058abf8822e9bfe8b561d460be /src/nvim/api/command.c
parent6130b4a84b41b71f4c0c58093a29585c6c67ff16 (diff)
downloadrneovim-0a0cda95286bf62fbce2776a0c0081cea39a88a8.tar.gz
rneovim-0a0cda95286bf62fbce2776a0c0081cea39a88a8.tar.bz2
rneovim-0a0cda95286bf62fbce2776a0c0081cea39a88a8.zip
vim-patch:8.2.5088: value of cmod_verbose is a bit complicated to use
Problem: Value of cmod_verbose is a bit complicated to use. Solution: Use zero for not set, value + 1 when set. (closes vim/vim#10564) https://github.com/vim/vim/commit/cd7496382efc9e6748326c6cda7f01003fa07063 Omit has_cmdmod(): only used for Vim9 script
Diffstat (limited to 'src/nvim/api/command.c')
-rw-r--r--src/nvim/api/command.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/nvim/api/command.c b/src/nvim/api/command.c
index f48843cbbb..0d2e013aac 100644
--- a/src/nvim/api/command.c
+++ b/src/nvim/api/command.c
@@ -223,7 +223,7 @@ Dictionary nvim_parse_cmd(String str, Dictionary opts, Error *err)
PUT(mods, "sandbox", BOOLEAN_OBJ(cmdinfo.cmdmod.cmod_flags & CMOD_SANDBOX));
PUT(mods, "noautocmd", BOOLEAN_OBJ(cmdinfo.cmdmod.cmod_flags & CMOD_NOAUTOCMD));
PUT(mods, "tab", INTEGER_OBJ(cmdinfo.cmdmod.cmod_tab));
- PUT(mods, "verbose", INTEGER_OBJ(cmdinfo.verbose));
+ PUT(mods, "verbose", INTEGER_OBJ(cmdinfo.cmdmod.cmod_verbose - 1));
PUT(mods, "browse", BOOLEAN_OBJ(cmdinfo.cmdmod.cmod_flags & CMOD_BROWSE));
PUT(mods, "confirm", BOOLEAN_OBJ(cmdinfo.cmdmod.cmod_flags & CMOD_CONFIRM));
PUT(mods, "hide", BOOLEAN_OBJ(cmdinfo.cmdmod.cmod_flags & CMOD_HIDE));
@@ -287,7 +287,6 @@ String nvim_cmd(uint64_t channel_id, Dict(cmd) *cmd, Dict(cmd_opts) *opts, Error
CmdParseInfo cmdinfo;
memset(&cmdinfo, 0, sizeof(cmdinfo));
- cmdinfo.verbose = -1;
char *cmdline = NULL;
char *cmdname = NULL;
@@ -524,7 +523,7 @@ String nvim_cmd(uint64_t channel_id, Dict(cmd) *cmd, Dict(cmd_opts) *opts, Error
VALIDATION_ERROR("'mods.verbose' must be a Integer");
} else if ((int)mods.verbose.data.integer >= 0) {
// Silently ignore negative integers to allow mods.verbose to be set to -1.
- cmdinfo.verbose = (int)mods.verbose.data.integer;
+ cmdinfo.cmdmod.cmod_verbose = (int)mods.verbose.data.integer + 1;
}
}
@@ -670,8 +669,8 @@ static void build_cmdline_str(char **cmdlinep, exarg_T *eap, CmdParseInfo *cmdin
if (cmdinfo->cmdmod.cmod_tab != 0) {
kv_printf(cmdline, "%dtab ", cmdinfo->cmdmod.cmod_tab - 1);
}
- if (cmdinfo->verbose != -1) {
- kv_printf(cmdline, "%dverbose ", cmdinfo->verbose);
+ if (cmdinfo->cmdmod.cmod_verbose > 0) {
+ kv_printf(cmdline, "%dverbose ", cmdinfo->cmdmod.cmod_verbose - 1);
}
if (cmdinfo->cmdmod.cmod_flags & CMOD_ERRSILENT) {