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 {