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)
cd7496382e

Omit has_cmdmod(): only used for Vim9 script
This commit is contained in:
zeertzjq
2022-06-14 20:46:18 +08:00
parent 6130b4a84b
commit 0a0cda9528
5 changed files with 22 additions and 37 deletions

View File

@@ -264,28 +264,27 @@ enum {
/// flag. This needs to be saved for recursive commands, put them in a
/// structure for easy manipulation.
typedef struct {
int cmod_flags; ///< CMOD_ flags
int cmod_flags; ///< CMOD_ flags
int cmod_split; ///< flags for win_split()
int cmod_tab; ///< > 0 when ":tab" was used
int cmod_split; ///< flags for win_split()
int cmod_tab; ///< > 0 when ":tab" was used
regmatch_T cmod_filter_regmatch; ///< set by :filter /pat/
bool cmod_filter_force; ///< set for :filter!
bool cmod_filter_force; ///< set for :filter!
int cmod_verbose; ///< non-zero to set 'verbose', -1 is used for zero override
int cmod_verbose; ///< 0 if not set, > 0 to set 'verbose' to cmod_verbose - 1
// values for undo_cmdmod()
char_u *cmod_save_ei; ///< saved value of 'eventignore'
int cmod_did_sandbox; ///< set when "sandbox" was incremented
long cmod_verbose_save; ///< if 'verbose' was set: value of p_verbose plus one
int cmod_save_msg_silent; ///< if non-zero: saved value of msg_silent + 1
int cmod_save_msg_scroll; ///< for restoring msg_scroll
int cmod_did_esilent; ///< incremented when emsg_silent is
char_u *cmod_save_ei; ///< saved value of 'eventignore'
int cmod_did_sandbox; ///< set when "sandbox" was incremented
long cmod_verbose_save; ///< if 'verbose' was set: value of p_verbose plus one
int cmod_save_msg_silent; ///< if non-zero: saved value of msg_silent + 1
int cmod_save_msg_scroll; ///< for restoring msg_scroll
int cmod_did_esilent; ///< incremented when emsg_silent is
} cmdmod_T;
/// Stores command modifier info used by `nvim_parse_cmd`
typedef struct {
cmdmod_T cmdmod;
int verbose; ///< unlike cmod_verbose, -1 is used when unspecified and 0 for zero override
struct {
bool file;
bool bar;