aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/optionstr.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c
index dae633db11..09b053333e 100644
--- a/src/nvim/optionstr.c
+++ b/src/nvim/optionstr.c
@@ -668,6 +668,14 @@ static void did_set_backupcopy(buf_T *buf, char *oldval, int opt_flags, char **e
}
}
+static void did_set_backupext_or_patchmode(char **errmsg)
+{
+ if (strcmp(*p_bex == '.' ? p_bex + 1 : p_bex,
+ *p_pm == '.' ? p_pm + 1 : p_pm) == 0) {
+ *errmsg = e_backupext_and_patchmode_are_equal;
+ }
+}
+
static void did_set_breakindentopt(win_T *win, char **errmsg)
{
if (briopt_check(win) == FAIL) {
@@ -1385,10 +1393,7 @@ char *did_set_string_option(int opt_idx, char **varp, char *oldval, char *errbuf
} else if (gvarp == &p_bkc) { // 'backupcopy'
did_set_backupcopy(curbuf, oldval, opt_flags, &errmsg);
} else if (varp == &p_bex || varp == &p_pm) { // 'backupext' and 'patchmode'
- if (strcmp(*p_bex == '.' ? p_bex + 1 : p_bex,
- *p_pm == '.' ? p_pm + 1 : p_pm) == 0) {
- errmsg = e_backupext_and_patchmode_are_equal;
- }
+ did_set_backupext_or_patchmode(&errmsg);
} else if (varp == &curwin->w_p_briopt) { // 'breakindentopt'
did_set_breakindentopt(curwin, &errmsg);
} else if (varp == &p_isi