patch 8.0.0704: problems with autocommands when opening help

Problem:    Problems with autocommands when opening help.
Solution:   Avoid using invalid "varp" value.  Allow using :wincmd if buffer
            is locked. (closes #1806, closes #1804)
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index cde0157..0844a9c 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -1625,7 +1625,7 @@
 			EXTRA|NEEDARG|TRLBAR,
 			ADDR_LINES),
 EX(CMD_wincmd,		"wincmd",	ex_wincmd,
-			NEEDARG|WORD1|RANGE|NOTADR,
+			NEEDARG|WORD1|RANGE|NOTADR|CMDWIN,
 			ADDR_WINDOWS),
 EX(CMD_windo,		"windo",	ex_listdo,
 			NEEDARG|EXTRA|NOTRLCOM|RANGE|NOTADR|DFLALL,
diff --git a/src/option.c b/src/option.c
index ebc547e..cdb0d67 100644
--- a/src/option.c
+++ b/src/option.c
@@ -7570,6 +7570,9 @@
 		did_filetype = TRUE;
 		apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft,
 					       curbuf->b_fname, TRUE, curbuf);
+		/* Just in case the old "curbuf" is now invalid. */
+		if (varp != &(curbuf->b_p_ft))
+		    varp = NULL;
 	    }
 	}
 #endif
diff --git a/src/version.c b/src/version.c
index d494900..8129a7e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    704,
+/**/
     703,
 /**/
     702,