Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
29135:9b6a0ff3d5e5 | 29136:ff98d9c228d4 |
---|---|
3087 } | 3087 } |
3088 if (!checkforcmd_noparen(&p, "verbose", 4)) | 3088 if (!checkforcmd_noparen(&p, "verbose", 4)) |
3089 break; | 3089 break; |
3090 if (vim_isdigit(*eap->cmd)) | 3090 if (vim_isdigit(*eap->cmd)) |
3091 { | 3091 { |
3092 cmod->cmod_verbose = atoi((char *)eap->cmd); | 3092 // zero means not set, one is verbose == 0, etc. |
3093 if (cmod->cmod_verbose == 0) | 3093 cmod->cmod_verbose = atoi((char *)eap->cmd) + 1; |
3094 cmod->cmod_verbose = -1; | |
3095 } | 3094 } |
3096 else | 3095 else |
3097 cmod->cmod_verbose = 1; | 3096 cmod->cmod_verbose = 2; // default: verbose == 1 |
3098 eap->cmd = p; | 3097 eap->cmd = p; |
3099 continue; | 3098 continue; |
3100 } | 3099 } |
3101 break; | 3100 break; |
3102 } | 3101 } |
3145 { | 3144 { |
3146 return (cmod->cmod_flags != 0 && (!ignore_silent | 3145 return (cmod->cmod_flags != 0 && (!ignore_silent |
3147 || (cmod->cmod_flags | 3146 || (cmod->cmod_flags |
3148 & ~(CMOD_SILENT | CMOD_ERRSILENT | CMOD_UNSILENT)) != 0)) | 3147 & ~(CMOD_SILENT | CMOD_ERRSILENT | CMOD_UNSILENT)) != 0)) |
3149 || cmod->cmod_split != 0 | 3148 || cmod->cmod_split != 0 |
3150 || cmod->cmod_verbose != 0 | 3149 || cmod->cmod_verbose > 0 |
3151 || cmod->cmod_tab != 0 | 3150 || cmod->cmod_tab != 0 |
3152 || cmod->cmod_filter_regmatch.regprog != NULL; | 3151 || cmod->cmod_filter_regmatch.regprog != NULL; |
3153 } | 3152 } |
3154 | 3153 |
3155 #if defined(FEAT_EVAL) || defined(PROTO) | 3154 #if defined(FEAT_EVAL) || defined(PROTO) |
3180 { | 3179 { |
3181 ++sandbox; | 3180 ++sandbox; |
3182 cmod->cmod_did_sandbox = TRUE; | 3181 cmod->cmod_did_sandbox = TRUE; |
3183 } | 3182 } |
3184 #endif | 3183 #endif |
3185 if (cmod->cmod_verbose != 0) | 3184 if (cmod->cmod_verbose > 0) |
3186 { | 3185 { |
3187 if (cmod->cmod_verbose_save == 0) | 3186 if (cmod->cmod_verbose_save == 0) |
3188 cmod->cmod_verbose_save = p_verbose + 1; | 3187 cmod->cmod_verbose_save = p_verbose + 1; |
3189 p_verbose = cmod->cmod_verbose < 0 ? 0 : cmod->cmod_verbose; | 3188 p_verbose = cmod->cmod_verbose - 1; |
3190 } | 3189 } |
3191 | 3190 |
3192 if ((cmod->cmod_flags & (CMOD_SILENT | CMOD_UNSILENT)) | 3191 if ((cmod->cmod_flags & (CMOD_SILENT | CMOD_UNSILENT)) |
3193 && cmod->cmod_save_msg_silent == 0) | 3192 && cmod->cmod_save_msg_silent == 0) |
3194 { | 3193 { |