diff src/usercmd.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 6e965b3587a4
children f2bfee4ac356
line wrap: on
line diff
--- a/src/usercmd.c
+++ b/src/usercmd.c
@@ -1235,8 +1235,8 @@ add_cmd_modifier(char_u *buf, char *mod_
 }
 
 /*
- * Add modifiers from "cmdmod.split" to "buf".  Set "multi_mods" when one was
- * added.  Return the number of bytes added.
+ * Add modifiers from "cmdmod.cmod_split" to "buf".  Set "multi_mods" when one
+ * was added.  Return the number of bytes added.
  */
     size_t
 add_win_cmd_modifers(char_u *buf, int *multi_mods)
@@ -1244,23 +1244,23 @@ add_win_cmd_modifers(char_u *buf, int *m
     size_t result = 0;
 
     // :aboveleft and :leftabove
-    if (cmdmod.split & WSP_ABOVE)
+    if (cmdmod.cmod_split & WSP_ABOVE)
 	result += add_cmd_modifier(buf, "aboveleft", multi_mods);
     // :belowright and :rightbelow
-    if (cmdmod.split & WSP_BELOW)
+    if (cmdmod.cmod_split & WSP_BELOW)
 	result += add_cmd_modifier(buf, "belowright", multi_mods);
     // :botright
-    if (cmdmod.split & WSP_BOT)
+    if (cmdmod.cmod_split & WSP_BOT)
 	result += add_cmd_modifier(buf, "botright", multi_mods);
 
     // :tab
-    if (cmdmod.tab > 0)
+    if (cmdmod.cmod_tab > 0)
 	result += add_cmd_modifier(buf, "tab", multi_mods);
     // :topleft
-    if (cmdmod.split & WSP_TOP)
+    if (cmdmod.cmod_split & WSP_TOP)
 	result += add_cmd_modifier(buf, "topleft", multi_mods);
     // :vertical
-    if (cmdmod.split & WSP_VERT)
+    if (cmdmod.cmod_split & WSP_VERT)
 	result += add_cmd_modifier(buf, "vertical", multi_mods);
     return result;
 }
@@ -1454,24 +1454,24 @@ uc_check_code(
     {
 	int multi_mods = 0;
 	typedef struct {
-	    int *varp;
+	    int flag;
 	    char *name;
 	} mod_entry_T;
 	static mod_entry_T mod_entries[] = {
 #ifdef FEAT_BROWSE_CMD
-	    {&cmdmod.browse, "browse"},
+	    {CMOD_BROWSE, "browse"},
 #endif
 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
-	    {&cmdmod.confirm, "confirm"},
+	    {CMOD_CONFIRM, "confirm"},
 #endif
-	    {&cmdmod.hide, "hide"},
-	    {&cmdmod.keepalt, "keepalt"},
-	    {&cmdmod.keepjumps, "keepjumps"},
-	    {&cmdmod.keepmarks, "keepmarks"},
-	    {&cmdmod.keeppatterns, "keeppatterns"},
-	    {&cmdmod.lockmarks, "lockmarks"},
-	    {&cmdmod.noswapfile, "noswapfile"},
-	    {NULL, NULL}
+	    {CMOD_HIDE, "hide"},
+	    {CMOD_KEEPALT, "keepalt"},
+	    {CMOD_KEEPJUMPS, "keepjumps"},
+	    {CMOD_KEEPMARKS, "keepmarks"},
+	    {CMOD_KEEPPATTERNS, "keeppatterns"},
+	    {CMOD_LOCKMARKS, "lockmarks"},
+	    {CMOD_NOSWAPFILE, "noswapfile"},
+	    {0, NULL}
 	};
 	int i;
 
@@ -1484,8 +1484,8 @@ uc_check_code(
 	}
 
 	// the modifiers that are simple flags
-	for (i = 0; mod_entries[i].varp != NULL; ++i)
-	    if (*mod_entries[i].varp)
+	for (i = 0; mod_entries[i].name != NULL; ++i)
+	    if (cmdmod.cmod_flags & mod_entries[i].flag)
 		result += add_cmd_modifier(buf, mod_entries[i].name,
 								 &multi_mods);
 
@@ -1501,7 +1501,7 @@ uc_check_code(
 	// :verbose
 	if (p_verbose > 0)
 	    result += add_cmd_modifier(buf, "verbose", &multi_mods);
-	// flags from cmdmod.split
+	// flags from cmdmod.cmod_split
 	result += add_win_cmd_modifers(buf, &multi_mods);
 	if (quote && buf != NULL)
 	{