patch 9.1.0832: :set doesn't work for 'cot' and 'bkc' after :setlocal
Problem: :set doesn't work for 'cot' and 'bkc' after :setlocal.
Solution: clear the local flags when using :set (zeertzjq).
closes: #15981
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/optionstr.c b/src/optionstr.c
index 0554c0e..7c589e9 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -1146,6 +1146,9 @@
bkc = curbuf->b_p_bkc;
flags = &curbuf->b_bkc_flags;
}
+ else if (!(args->os_flags & OPT_GLOBAL))
+ // When using :set, clear the local flags.
+ curbuf->b_bkc_flags = 0;
if ((args->os_flags & OPT_LOCAL) && *bkc == NUL)
// make the local value empty: use the global value
@@ -1619,6 +1622,9 @@
cot = curbuf->b_p_cot;
flags = &curbuf->b_cot_flags;
}
+ else if (!(args->os_flags & OPT_GLOBAL))
+ // When using :set, clear the local flags.
+ curbuf->b_cot_flags = 0;
if (check_opt_strings(cot, p_cot_values, TRUE) != OK)
return e_invalid_argument;