Mercurial > vim
comparison src/ex_cmds2.c @ 22699:e82579016863 v8.2.1898
patch 8.2.1898: command modifier parsing always uses global cmdmod
Commit: https://github.com/vim/vim/commit/e10044015841711b989f9a898d427bcc1fdb4c32
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Oct 24 20:49:43 2020 +0200
patch 8.2.1898: command modifier parsing always uses global cmdmod
Problem: Command modifier parsing always uses global cmdmod.
Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 24 Oct 2020 21:00:05 +0200 |
parents | b32b67a108f2 |
children | 078edc1821bf |
comparison
equal
deleted
inserted
replaced
22698:28523bc9ee71 | 22699:e82579016863 |
---|---|
84 && bufIsChanged(buf) | 84 && bufIsChanged(buf) |
85 && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1) | 85 && ((flags & CCGD_MULTWIN) || buf->b_nwindows <= 1) |
86 && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL)) | 86 && (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL)) |
87 { | 87 { |
88 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) | 88 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) |
89 if ((p_confirm || cmdmod.confirm) && p_write) | 89 if ((p_confirm || (cmdmod.cmod_flags & CMOD_CONFIRM)) && p_write) |
90 { | 90 { |
91 buf_T *buf2; | 91 buf_T *buf2; |
92 int count = 0; | 92 int count = 0; |
93 | 93 |
94 if (flags & CCGD_ALLBUF) | 94 if (flags & CCGD_ALLBUF) |
95 FOR_ALL_BUFFERS(buf2) | 95 FOR_ALL_BUFFERS(buf2) |
96 if (bufIsChanged(buf2) | 96 if (bufIsChanged(buf2) |
97 && (buf2->b_ffname != NULL | 97 && (buf2->b_ffname != NULL |
98 # ifdef FEAT_BROWSE | 98 # ifdef FEAT_BROWSE |
99 || cmdmod.browse | 99 || (cmdmod.cmod_flags & CMOD_BROWSE) |
100 # endif | 100 # endif |
101 )) | 101 )) |
102 ++count; | 102 ++count; |
103 if (!bufref_valid(&bufref)) | 103 if (!bufref_valid(&bufref)) |
104 // Autocommand deleted buffer, oops! It's not changed now. | 104 // Autocommand deleted buffer, oops! It's not changed now. |
195 FOR_ALL_BUFFERS(buf2) | 195 FOR_ALL_BUFFERS(buf2) |
196 { | 196 { |
197 if (bufIsChanged(buf2) | 197 if (bufIsChanged(buf2) |
198 && (buf2->b_ffname != NULL | 198 && (buf2->b_ffname != NULL |
199 #ifdef FEAT_BROWSE | 199 #ifdef FEAT_BROWSE |
200 || cmdmod.browse | 200 || (cmdmod.cmod_flags & CMOD_BROWSE) |
201 #endif | 201 #endif |
202 ) | 202 ) |
203 && !buf2->b_p_ro) | 203 && !buf2->b_p_ro) |
204 { | 204 { |
205 bufref_T bufref; | 205 bufref_T bufref; |
345 exiting = FALSE; | 345 exiting = FALSE; |
346 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) | 346 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) |
347 /* | 347 /* |
348 * When ":confirm" used, don't give an error message. | 348 * When ":confirm" used, don't give an error message. |
349 */ | 349 */ |
350 if (!(p_confirm || cmdmod.confirm)) | 350 if (!(p_confirm || (cmdmod.cmod_flags & CMOD_CONFIRM))) |
351 #endif | 351 #endif |
352 { | 352 { |
353 // There must be a wait_return for this message, do_buffer() | 353 // There must be a wait_return for this message, do_buffer() |
354 // may cause a redraw. But wait_return() is a no-op when vgetc() | 354 // may cause a redraw. But wait_return() is a no-op when vgetc() |
355 // is busy (Quit used from window menu), then make sure we don't | 355 // is busy (Quit used from window menu), then make sure we don't |