vim-patch:8.2.4753: error from setting an option is silently ignored (#19888)

Problem:    Error from setting an option is silently ignored.
Solution:   Handle option value errors better.  Fix uses of N_().
31e5c60a68
This commit is contained in:
zeertzjq
2022-08-22 13:56:50 +08:00
committed by GitHub
parent d4d27c41b3
commit 2bed0d1d97
20 changed files with 112 additions and 83 deletions

View File

@@ -3558,12 +3558,12 @@ static int qf_goto_cwindow(const qf_info_T *qi, bool resize, int sz, bool vertsp
static void qf_set_cwindow_options(void)
{
// switch off 'swapfile'
set_option_value("swf", 0L, NULL, OPT_LOCAL);
set_option_value("bt", 0L, "quickfix", OPT_LOCAL);
set_option_value("bh", 0L, "hide", OPT_LOCAL);
set_option_value_give_err("swf", 0L, NULL, OPT_LOCAL);
set_option_value_give_err("bt", 0L, "quickfix", OPT_LOCAL);
set_option_value_give_err("bh", 0L, "hide", OPT_LOCAL);
RESET_BINDING(curwin);
curwin->w_p_diff = false;
set_option_value("fdm", 0L, "manual", OPT_LOCAL);
set_option_value_give_err("fdm", 0L, "manual", OPT_LOCAL);
}
// Open a new quickfix or location list window, load the quickfix buffer and
@@ -4108,7 +4108,7 @@ static void qf_fill_buffer(qf_list_T *qfl, buf_T *buf, qfline_T *old_last, int q
// resembles reading a file into a buffer, it's more logical when using
// autocommands.
curbuf->b_ro_locked++;
set_option_value("ft", 0L, "qf", OPT_LOCAL);
set_option_value_give_err("ft", 0L, "qf", OPT_LOCAL);
curbuf->b_p_ma = false;
keep_filetype = true; // don't detect 'filetype'
@@ -7102,7 +7102,7 @@ void ex_helpgrep(exarg_T *eap)
// Darn, some plugin changed the value. If it's still empty it was
// changed and restored, need to restore in the complicated way.
if (*p_cpo == NUL) {
set_option_value("cpo", 0L, save_cpo, 0);
set_option_value_give_err("cpo", 0L, save_cpo, 0);
}
free_string_option((char_u *)save_cpo);
}