Mercurial > vim
diff src/ex_docmd.c @ 29136:ff98d9c228d4 v8.2.5088
patch 8.2.5088: value of cmod_verbose is a bit complicated to use
Commit: https://github.com/vim/vim/commit/cd7496382efc9e6748326c6cda7f01003fa07063
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue Jun 14 13:30:35 2022 +0100
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 https://github.com/vim/vim/issues/10564)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 14 Jun 2022 14:45:06 +0200 |
parents | c7a8d4bf4d04 |
children | dee6b7c32f2c |
line wrap: on
line diff
--- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -3089,12 +3089,11 @@ parse_command_modifiers( break; if (vim_isdigit(*eap->cmd)) { - cmod->cmod_verbose = atoi((char *)eap->cmd); - if (cmod->cmod_verbose == 0) - cmod->cmod_verbose = -1; + // zero means not set, one is verbose == 0, etc. + cmod->cmod_verbose = atoi((char *)eap->cmd) + 1; } else - cmod->cmod_verbose = 1; + cmod->cmod_verbose = 2; // default: verbose == 1 eap->cmd = p; continue; } @@ -3147,7 +3146,7 @@ has_cmdmod(cmdmod_T *cmod, int ignore_si || (cmod->cmod_flags & ~(CMOD_SILENT | CMOD_ERRSILENT | CMOD_UNSILENT)) != 0)) || cmod->cmod_split != 0 - || cmod->cmod_verbose != 0 + || cmod->cmod_verbose > 0 || cmod->cmod_tab != 0 || cmod->cmod_filter_regmatch.regprog != NULL; } @@ -3182,11 +3181,11 @@ apply_cmdmod(cmdmod_T *cmod) cmod->cmod_did_sandbox = TRUE; } #endif - if (cmod->cmod_verbose != 0) + if (cmod->cmod_verbose > 0) { if (cmod->cmod_verbose_save == 0) cmod->cmod_verbose_save = p_verbose + 1; - p_verbose = cmod->cmod_verbose < 0 ? 0 : cmod->cmod_verbose; + p_verbose = cmod->cmod_verbose - 1; } if ((cmod->cmod_flags & (CMOD_SILENT | CMOD_UNSILENT))