diff options
Diffstat (limited to 'src/nvim/optionstr.c')
-rw-r--r-- | src/nvim/optionstr.c | 105 |
1 files changed, 53 insertions, 52 deletions
diff --git a/src/nvim/optionstr.c b/src/nvim/optionstr.c index 78ae7e41ab..e1538e0491 100644 --- a/src/nvim/optionstr.c +++ b/src/nvim/optionstr.c @@ -254,14 +254,14 @@ void check_buf_options(buf_T *buf) /// memory, vim_strsave() returned NULL, which was replaced by empty_option by /// check_options(). /// Does NOT check for P_ALLOCED flag! -void free_string_option(char_u *p) +void free_string_option(char *p) { if (p != empty_option) { xfree(p); } } -void clear_string_option(char_u **pp) +void clear_string_option(char **pp) { if (*pp != empty_option) { xfree(*pp); @@ -269,7 +269,7 @@ void clear_string_option(char_u **pp) *pp = empty_option; } -void check_string_option(char_u **pp) +void check_string_option(char **pp) { if (*pp == NULL) { *pp = empty_option; @@ -292,7 +292,7 @@ static void set_string_option_global(int opt_idx, char_u **varp) } if (!is_global_option(opt_idx) && p != varp) { s = vim_strsave(*varp); - free_string_option(*p); + free_string_option((char *)(*p)); *p = s; } } @@ -332,7 +332,7 @@ void set_string_option_direct(const char *name, int opt_idx, const char *val, in { varp = (char **)get_option_varp_scope(idx, both ? OPT_LOCAL : opt_flags); if ((opt_flags & OPT_FREE) && (get_option_flags(idx) & P_ALLOCED)) { - free_string_option((char_u *)(*varp)); + free_string_option(*varp); } *varp = s; @@ -346,8 +346,8 @@ void set_string_option_direct(const char *name, int opt_idx, const char *val, in // When setting both values of a global option with a local value, // make the local value empty, so that the global value is used. if (is_global_local_option(idx) && both) { - free_string_option((char_u *)(*varp)); - *varp = (char *)empty_option; + free_string_option(*varp); + *varp = empty_option; } if (set_sid != SID_NONE) { sctx_T script_ctx; @@ -662,7 +662,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er unsigned int *flags = &bkc_flags; if (opt_flags & OPT_LOCAL) { - bkc = curbuf->b_p_bkc; + bkc = (char_u *)curbuf->b_p_bkc; flags = &curbuf->b_bkc_flags; } @@ -687,12 +687,12 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er *p_pm == '.' ? p_pm + 1 : p_pm) == 0) { errmsg = e_backupext_and_patchmode_are_equal; } - } else if (varp == &curwin->w_p_briopt) { // 'breakindentopt' + } else if (varp == (char_u **)&curwin->w_p_briopt) { // 'breakindentopt' if (briopt_check(curwin) == FAIL) { errmsg = e_invarg; } } else if (varp == &p_isi - || varp == &(curbuf->b_p_isk) + || varp == (char_u **)&(curbuf->b_p_isk) || varp == &p_isp || varp == &p_isf) { // 'isident', 'iskeyword', 'isprint or 'isfname' option: refill g_chartab[] @@ -712,12 +712,12 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er } } else if (varp == &p_rtp || varp == &p_pp) { // 'runtimepath' 'packpath' runtime_search_path_invalidate(); - } else if (varp == &curwin->w_p_culopt - || gvarp == &curwin->w_allbuf_opt.wo_culopt) { // 'cursorlineopt' + } else if (varp == (char_u **)&curwin->w_p_culopt + || gvarp == (char_u **)&curwin->w_allbuf_opt.wo_culopt) { // 'cursorlineopt' if (**varp == NUL || fill_culopt_flags(*varp, curwin) != OK) { errmsg = e_invarg; } - } else if (varp == &curwin->w_p_cc) { // 'colorcolumn' + } else if (varp == (char_u **)&curwin->w_p_cc) { // 'colorcolumn' errmsg = check_colorcolumn(curwin); } else if (varp == &p_hlg) { // 'helplang' // Check for "", "ab", "ab,cd", etc. @@ -780,9 +780,9 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er // value, that's not what we want here. Disable the color // scheme and set the colors again. do_unlet(S_LEN("g:colors_name"), true); - free_string_option(p_bg); + free_string_option((char *)p_bg); p_bg = vim_strsave((char_u *)(dark ? "dark" : "light")); - check_string_option(&p_bg); + check_string_option((char **)&p_bg); init_highlight(false, false); } } else { @@ -841,7 +841,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er p = (char *)enc_canonize(p_penc); xfree(p_penc); p_penc = (char_u *)p; - } else if (varp == &curbuf->b_p_keymap) { + } else if (varp == (char_u **)&curbuf->b_p_keymap) { if (!valid_filetype(*varp)) { errmsg = e_invarg; } else { @@ -960,11 +960,11 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er FOR_ALL_TAB_WINDOWS(tp, wp) { // If no error was returned above, we don't expect an error // here, so ignore the return value. - (void)set_chars_option(wp, &wp->w_p_lcs, true); + (void)set_chars_option(wp, (char_u **)&wp->w_p_lcs, true); } redraw_all_later(UPD_NOT_VALID); } - } else if (varp == &curwin->w_p_lcs) { // local 'listchars' + } else if (varp == (char_u **)&curwin->w_p_lcs) { // local 'listchars' errmsg = set_chars_option(curwin, varp, true); } else if (varp == &p_fcs) { // global 'fillchars' errmsg = set_chars_option(curwin, varp, false); @@ -977,11 +977,11 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er FOR_ALL_TAB_WINDOWS(tp, wp) { // If no error was returned above, we don't expect an error // here, so ignore the return value. - (void)set_chars_option(wp, &wp->w_p_fcs, true); + (void)set_chars_option(wp, (char_u **)&wp->w_p_fcs, true); } redraw_all_later(UPD_NOT_VALID); } - } else if (varp == &curwin->w_p_fcs) { // local 'fillchars' + } else if (varp == (char_u **)&curwin->w_p_fcs) { // local 'fillchars' errmsg = set_chars_option(curwin, varp, true); } else if (varp == &p_cedit) { // 'cedit' errmsg = check_cedit(); @@ -1117,11 +1117,11 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er if (opt_strings_flags(p_cb, p_cb_values, &cb_flags, true) != OK) { errmsg = e_invarg; } - } else if (varp == &(curwin->w_s->b_p_spl) // 'spell' - || varp == &(curwin->w_s->b_p_spf)) { + } else if (varp == (char_u **)&(curwin->w_s->b_p_spl) // 'spell' + || varp == (char_u **)&(curwin->w_s->b_p_spf)) { // When 'spelllang' or 'spellfile' is set and there is a window for this // buffer in which 'spell' is set load the wordlists. - const bool is_spellfile = varp == &(curwin->w_s->b_p_spf); + const bool is_spellfile = varp == (char_u **)&(curwin->w_s->b_p_spf); if ((is_spellfile && !valid_spellfile(*varp)) || (!is_spellfile && !valid_spelllang(*varp))) { @@ -1129,10 +1129,10 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er } else { errmsg = did_set_spell_option(is_spellfile); } - } else if (varp == &(curwin->w_s->b_p_spc)) { + } else if (varp == (char_u **)&(curwin->w_s->b_p_spc)) { // When 'spellcapcheck' is set compile the regexp program. errmsg = compile_cap_prog(curwin->w_s); - } else if (varp == &(curwin->w_s->b_p_spo)) { // 'spelloptions' + } else if (varp == (char_u **)&(curwin->w_s->b_p_spo)) { // 'spelloptions' if (**varp != NUL && STRCMP("camel", *varp) != 0) { errmsg = e_invarg; } @@ -1146,14 +1146,14 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er } } else if (gvarp == &p_bh) { // When 'bufhidden' is set, check for valid value. - if (check_opt_strings(curbuf->b_p_bh, p_bufhidden_values, false) != OK) { + if (check_opt_strings((char_u *)curbuf->b_p_bh, p_bufhidden_values, false) != OK) { errmsg = e_invarg; } } else if (gvarp == &p_bt) { // When 'buftype' is set, check for valid value. if ((curbuf->terminal && curbuf->b_p_bt[0] != 't') || (!curbuf->terminal && curbuf->b_p_bt[0] == 't') - || check_opt_strings(curbuf->b_p_bt, p_buftype_values, false) != OK) { + || check_opt_strings((char_u *)curbuf->b_p_bt, p_buftype_values, false) != OK) { errmsg = e_invarg; } else { if (curwin->w_status_height || global_stl_height()) { @@ -1241,7 +1241,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er errmsg = e_invarg; } #endif - } else if (varp == &curwin->w_p_scl) { // 'signcolumn' + } else if (varp == (char_u **)&curwin->w_p_scl) { // 'signcolumn' if (check_signcolumn(*varp) != OK) { errmsg = e_invarg; } @@ -1252,7 +1252,8 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er && (curwin->w_p_nu || curwin->w_p_rnu)) { curwin->w_nrwidth_line_count = 0; } - } else if (varp == &curwin->w_p_fdc || varp == &curwin->w_allbuf_opt.wo_fdc) { + } else if (varp == (char_u **)&curwin->w_p_fdc + || varp == (char_u **)&curwin->w_allbuf_opt.wo_fdc) { // 'foldcolumn' if (**varp == NUL || check_opt_strings(*varp, p_fdc_values, false) != OK) { errmsg = e_invarg; @@ -1266,7 +1267,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er &p, REPTERM_FROM_PART | REPTERM_DO_LT, NULL, CPO_TO_CPO_FLAGS); if (p != NULL) { - free_string_option(p_pt); + free_string_option((char *)p_pt); p_pt = (char_u *)p; } } @@ -1286,7 +1287,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er unsigned int *flags; if (opt_flags & OPT_LOCAL) { - p = (char *)curbuf->b_p_tc; + p = curbuf->b_p_tc; flags = &curbuf->b_tc_flags; } else { p = (char *)p_tc; @@ -1308,7 +1309,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er if (diffopt_changed() == FAIL) { errmsg = e_invarg; } - } else if (gvarp == &curwin->w_allbuf_opt.wo_fdm) { // 'foldmethod' + } else if (gvarp == (char_u **)&curwin->w_allbuf_opt.wo_fdm) { // 'foldmethod' if (check_opt_strings(*varp, p_fdm_values, false) != OK || *curwin->w_p_fdm == NUL) { errmsg = e_invarg; @@ -1318,11 +1319,11 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er newFoldLevel(); } } - } else if (varp == &curwin->w_p_fde) { // 'foldexpr' + } else if (varp == (char_u **)&curwin->w_p_fde) { // 'foldexpr' if (foldmethodIsExpr(curwin)) { foldUpdateAll(curwin); } - } else if (gvarp == &curwin->w_allbuf_opt.wo_fmr) { // 'foldmarker' + } else if (gvarp == (char_u **)&curwin->w_allbuf_opt.wo_fmr) { // 'foldmarker' p = vim_strchr((char *)(*varp), ','); if (p == NULL) { errmsg = N_("E536: comma required"); @@ -1343,7 +1344,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er if (check_opt_strings(p_fcl, p_fcl_values, true) != OK) { errmsg = e_invarg; } - } else if (gvarp == &curwin->w_allbuf_opt.wo_fdi) { // 'foldignore' + } else if (gvarp == (char_u **)&curwin->w_allbuf_opt.wo_fdi) { // 'foldignore' if (foldmethodIsIndent(curwin)) { foldUpdateAll(curwin); } @@ -1352,7 +1353,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er unsigned int *flags = &ve_flags; if (opt_flags & OPT_LOCAL) { - ve = curwin->w_p_ve; + ve = (char_u *)curwin->w_p_ve; flags = &curwin->w_ve_flags; } @@ -1413,7 +1414,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er // even when the value comes from a modeline. *value_checked = true; } - } else if (varp == &curwin->w_p_winhl) { + } else if (varp == (char_u **)&curwin->w_p_winhl) { if (!parse_winhl_opt(curwin)) { errmsg = e_invarg; } @@ -1421,7 +1422,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er if (opt_strings_flags(p_tpf, p_tpf_values, &tpf_flags, true) != OK) { errmsg = e_invarg; } - } else if (varp == &(curbuf->b_p_vsts)) { // 'varsofttabstop' + } else if (varp == (char_u **)&(curbuf->b_p_vsts)) { // 'varsofttabstop' char_u *cp; if (!(*varp)[0] || ((*varp)[0] == '0' && !(*varp)[1])) { @@ -1446,7 +1447,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er } } } - } else if (varp == &(curbuf->b_p_vts)) { // 'vartabstop' + } else if (varp == (char_u **)&(curbuf->b_p_vts)) { // 'vartabstop' char_u *cp; if (!(*varp)[0] || ((*varp)[0] == '0' && !(*varp)[1])) { @@ -1492,9 +1493,9 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er p = (char *)SHM_ALL; } else if (varp == (char_u **)&(p_cpo)) { // 'cpoptions' p = CPO_VI; - } else if (varp == &(curbuf->b_p_fo)) { // 'formatoptions' + } else if (varp == (char_u **)&(curbuf->b_p_fo)) { // 'formatoptions' p = FO_ALL; - } else if (varp == &curwin->w_p_cocu) { // 'concealcursor' + } else if (varp == (char_u **)&curwin->w_p_cocu) { // 'concealcursor' p = COCU_ALL; } else if (varp == &p_mouse) { // 'mouse' p = MOUSE_ALL; @@ -1511,7 +1512,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er // If error detected, restore the previous value. if (errmsg != NULL) { - free_string_option(*varp); + free_string_option((char *)(*varp)); *varp = oldval; // When resetting some values, need to act on it. if (did_chartab) { @@ -1524,7 +1525,7 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er // Use "free_oldval", because recursiveness may change the flags under // our fingers (esp. init_highlight()). if (free_oldval) { - free_string_option(oldval); + free_string_option((char *)oldval); } set_option_flag(opt_idx, P_ALLOCED); @@ -1533,8 +1534,8 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er // global option with local value set to use global value; free // the local value and make it empty p = (char *)get_option_varp_scope(opt_idx, OPT_LOCAL); - free_string_option(*(char_u **)p); - *(char_u **)p = empty_option; + free_string_option(*(char **)p); + *(char **)p = empty_option; } else if (!(opt_flags & OPT_LOCAL) && opt_flags != OPT_GLOBAL) { // May set global value for local option. set_string_option_global(opt_idx, varp); @@ -1542,17 +1543,17 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er // Trigger the autocommand only after setting the flags. // When 'syntax' is set, load the syntax of that name - if (varp == &(curbuf->b_p_syn)) { + if (varp == (char_u **)&(curbuf->b_p_syn)) { static int syn_recursive = 0; syn_recursive++; // Only pass true for "force" when the value changed or not used // recursively, to avoid endless recurrence. - apply_autocmds(EVENT_SYNTAX, (char *)curbuf->b_p_syn, curbuf->b_fname, + apply_autocmds(EVENT_SYNTAX, curbuf->b_p_syn, curbuf->b_fname, value_changed || syn_recursive == 1, curbuf); curbuf->b_flags |= BF_SYN_SET; syn_recursive--; - } else if (varp == &(curbuf->b_p_ft)) { + } else if (varp == (char_u **)&(curbuf->b_p_ft)) { // 'filetype' is set, trigger the FileType autocommand // Skip this when called from a modeline and the filetype was // already set to this value. @@ -1568,19 +1569,19 @@ char *did_set_string_option(int opt_idx, char_u **varp, char_u *oldval, char *er did_filetype = true; // Only pass true for "force" when the value changed or not // used recursively, to avoid endless recurrence. - apply_autocmds(EVENT_FILETYPE, (char *)curbuf->b_p_ft, curbuf->b_fname, + apply_autocmds(EVENT_FILETYPE, curbuf->b_p_ft, curbuf->b_fname, value_changed || ft_recursive == 1, curbuf); ft_recursive--; // Just in case the old "curbuf" is now invalid - if (varp != &(curbuf->b_p_ft)) { + if (varp != (char_u **)&(curbuf->b_p_ft)) { varp = NULL; } secure = secure_save; } } - if (varp == &(curwin->w_s->b_p_spl)) { + if (varp == (char_u **)&(curwin->w_s->b_p_spl)) { char_u fname[200]; - char_u *q = curwin->w_s->b_p_spl; + char_u *q = (char_u *)curwin->w_s->b_p_spl; // Skip the first name if it is "cjk". if (STRNCMP(q, "cjk,", 4) == 0) { |