diff --git a/src/edit.c b/src/edit.c
index 7074f26..f0e5c51 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2939,7 +2939,7 @@
     if (compl_match_array != NULL)
     {
 	pum_undisplay();
-	vim_clear((void **)&compl_match_array);
+	VIM_CLEAR(compl_match_array);
     }
 }
 
@@ -3441,8 +3441,8 @@
     compl_T *match;
     int	    i;
 
-    vim_clear((void **)&compl_pattern);
-    vim_clear((void **)&compl_leader);
+    VIM_CLEAR(compl_pattern);
+    VIM_CLEAR(compl_leader);
 
     if (compl_first_match == NULL)
 	return;
@@ -3474,10 +3474,10 @@
     compl_cont_status = 0;
     compl_started = FALSE;
     compl_matches = 0;
-    vim_clear((void **)&compl_pattern);
-    vim_clear((void **)&compl_leader);
+    VIM_CLEAR(compl_pattern);
+    VIM_CLEAR(compl_leader);
     edit_submode_extra = NULL;
-    vim_clear((void **)&compl_orig_text);
+    VIM_CLEAR(compl_orig_text);
     compl_enter_selects = FALSE;
     /* clear v:completed_item */
     set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED));
@@ -5584,8 +5584,8 @@
 	if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
 			-1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
 	{
-	    vim_clear((void **)&compl_pattern);
-	    vim_clear((void **)&compl_orig_text);
+	    VIM_CLEAR(compl_pattern);
+	    VIM_CLEAR(compl_orig_text);
 	    return FAIL;
 	}
 
@@ -7214,9 +7214,9 @@
     void
 free_last_insert(void)
 {
-    vim_clear((void **)&last_insert);
+    VIM_CLEAR(last_insert);
 # ifdef FEAT_INS_EXPAND
-    vim_clear((void **)&compl_orig_text);
+    VIM_CLEAR(compl_orig_text);
 # endif
 }
 #endif
@@ -7844,7 +7844,7 @@
     static void
 replace_flush(void)
 {
-    vim_clear((void **)&replace_stack);
+    VIM_CLEAR(replace_stack);
     replace_stack_len = 0;
     replace_stack_nr = 0;
 }
