patch 8.0.1496: clearing a pointer takes two lines

Problem:    Clearing a pointer takes two lines.
Solution:   Add VIM_CLEAR() and replace vim_clear(). (Hirohito Higashi,
            closes #2629)
diff --git a/src/window.c b/src/window.c
index 669f3bd..38e1591 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4415,8 +4415,7 @@
 	/* Window doesn't have a local directory and we are not in the global
 	 * directory: Change to the global directory. */
 	ignored = mch_chdir((char *)globaldir);
-	vim_free(globaldir);
-	globaldir = NULL;
+	VIM_CLEAR(globaldir);
 	shorten_fnames(TRUE);
     }
 
@@ -4847,10 +4846,7 @@
 {
     /* TODO: why would wp be NULL here? */
     if (wp != NULL)
-    {
-	vim_free(wp->w_lines);
-	wp->w_lines = NULL;
-    }
+	VIM_CLEAR(wp->w_lines);
 }
 
 /*