From 84d17a6f9e3aee1adaeae3b073b5c25401bf70d3 Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Mon, 29 Sep 2014 17:15:18 +0200
Subject: [PATCH] updated for version 7.4.462 Problem:    Setting the local
 value of 'backupcopy' empty gives an error.             (Peter Mattern)
 Solution:   When using an empty value set the flags to zero. (Hirohito       
      Higashi)

---
 src/option.c  | 22 ++++++++++++++--------
 src/version.c |  2 ++
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/option.c b/src/option.c
index af9fb506f..5e8e95a6d 100644
--- a/src/option.c
+++ b/src/option.c
@@ -5742,15 +5742,21 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
 	    flags = &curbuf->b_bkc_flags;
 	}
 
-	if (opt_strings_flags(bkc, p_bkc_values, flags, TRUE) != OK)
-	    errmsg = e_invarg;
-	if ((((int)*flags & BKC_AUTO) != 0)
-		+ (((int)*flags & BKC_YES) != 0)
-		+ (((int)*flags & BKC_NO) != 0) != 1)
+	if ((opt_flags & OPT_LOCAL) && *bkc == NUL)
+	    /* make the local value empty: use the global value */
+	    *flags = 0;
+	else
 	{
-	    /* Must have exactly one of "auto", "yes"  and "no". */
-	    (void)opt_strings_flags(oldval, p_bkc_values, flags, TRUE);
-	    errmsg = e_invarg;
+	    if (opt_strings_flags(bkc, p_bkc_values, flags, TRUE) != OK)
+		errmsg = e_invarg;
+	    if ((((int)*flags & BKC_AUTO) != 0)
+		    + (((int)*flags & BKC_YES) != 0)
+		    + (((int)*flags & BKC_NO) != 0) != 1)
+	    {
+		/* Must have exactly one of "auto", "yes"  and "no". */
+		(void)opt_strings_flags(oldval, p_bkc_values, flags, TRUE);
+		errmsg = e_invarg;
+	    }
 	}
     }
 
diff --git a/src/version.c b/src/version.c
index d0847ad7e..579e0f9eb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    462,
 /**/
     461,
 /**/
-- 
2.40.0