patch 8.0.0442: patch shell command not well escaped

Problem:    Patch shell command uses double quotes around the argument, which
            allows for $HOME to be expanded. (Etienne)
Solution:   Use single quotes on Unix. (closes #1543)
diff --git a/src/diff.c b/src/diff.c
index b64b45c..7b81feb 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -977,7 +977,12 @@
     {
 	/* Build the patch command and execute it.  Ignore errors.  Switch to
 	 * cooked mode to allow the user to respond to prompts. */
-	vim_snprintf((char *)buf, buflen, "patch -o %s %s < \"%s\"",
+	vim_snprintf((char *)buf, buflen,
+#ifdef UNIX
+		"patch -o %s %s < '%s'",
+#else
+		"patch -o %s %s < \"%s\"",
+#endif
 		tmp_new, tmp_orig,
 # ifdef UNIX
 		fullname != NULL ? fullname :