diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ex_cmds.c | 21 | ||||
-rw-r--r-- | src/nvim/option.c | 7 |
2 files changed, 14 insertions, 14 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 3143363af6..b03c25a098 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -3615,16 +3615,13 @@ void do_sub(exarg_T *eap) /* * Find trailing options. When '&' is used, keep old options. */ - if (*cmd == '&') + if (*cmd == '&') { ++cmd; - else { - if (!p_ed) { - if (p_gd) /* default is global on */ - do_all = TRUE; - else - do_all = FALSE; - do_ask = FALSE; - } + } else { + // default is global on + do_all = p_gd ? TRUE : FALSE; + + do_ask = FALSE; do_error = TRUE; do_print = FALSE; do_count = false; @@ -3632,10 +3629,8 @@ void do_sub(exarg_T *eap) do_ic = 0; } while (*cmd) { - /* - * Note that 'g' and 'c' are always inverted, also when p_ed is off. - * 'r' is never inverted. - */ + // Note that 'g' and 'c' are always inverted. + // 'r' is never inverted. if (*cmd == 'g') do_all = !do_all; else if (*cmd == 'c') diff --git a/src/nvim/option.c b/src/nvim/option.c index 182834c4f3..71d19e24f1 100644 --- a/src/nvim/option.c +++ b/src/nvim/option.c @@ -4945,11 +4945,16 @@ set_bool_option ( if ((opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0) *(int *)get_varp_scope(&(options[opt_idx]), OPT_GLOBAL) = value; + // Ensure that compatible can not be enabled if ((int *)varp == &p_cp && p_cp == TRUE) { - /* Ensure that compatible can not be enabled */ p_cp = FALSE; return e_unsupportedoption; } + // Ensure that edcompatible can not be enabled + else if ((int *)varp == &p_ed && p_ed == TRUE) { + p_ed = FALSE; + return e_unsupportedoption; + } /* 'undofile' */ else if ((int *)varp == &curbuf->b_p_udf || (int *)varp == &p_udf) { /* Only take action when the option was set. When reset we do not |