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.
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 738bdb1..04859ad 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -86,7 +86,7 @@
&& (!(flags & CCGD_AW) || autowrite(buf, forceit) == FAIL))
{
#if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
- if ((p_confirm || cmdmod.confirm) && p_write)
+ if ((p_confirm || (cmdmod.cmod_flags & CMOD_CONFIRM)) && p_write)
{
buf_T *buf2;
int count = 0;
@@ -96,7 +96,7 @@
if (bufIsChanged(buf2)
&& (buf2->b_ffname != NULL
# ifdef FEAT_BROWSE
- || cmdmod.browse
+ || (cmdmod.cmod_flags & CMOD_BROWSE)
# endif
))
++count;
@@ -197,7 +197,7 @@
if (bufIsChanged(buf2)
&& (buf2->b_ffname != NULL
#ifdef FEAT_BROWSE
- || cmdmod.browse
+ || (cmdmod.cmod_flags & CMOD_BROWSE)
#endif
)
&& !buf2->b_p_ro)
@@ -347,7 +347,7 @@
/*
* When ":confirm" used, don't give an error message.
*/
- if (!(p_confirm || cmdmod.confirm))
+ if (!(p_confirm || (cmdmod.cmod_flags & CMOD_CONFIRM)))
#endif
{
// There must be a wait_return for this message, do_buffer()