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/bufwrite.c b/src/bufwrite.c
index 4be48e2..4b52246 100644
--- a/src/bufwrite.c
+++ b/src/bufwrite.c
@@ -883,7 +883,7 @@
 #endif
 				       )
 	{
-	    if (buf != NULL && cmdmod.lockmarks)
+	    if (buf != NULL && (cmdmod.cmod_flags & CMOD_LOCKMARKS))
 	    {
 		// restore the original '[ and '] positions
 		buf->b_op_start = orig_start;
@@ -967,7 +967,7 @@
 	    fname = buf->b_sfname;
     }
 
-    if (cmdmod.lockmarks)
+    if (cmdmod.cmod_flags & CMOD_LOCKMARKS)
     {
 	// restore the original '[ and '] positions
 	buf->b_op_start = orig_start;