patch 8.2.3961: error messages are spread out

Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
diff --git a/src/optionstr.c b/src/optionstr.c
index ae584d0..85405ed 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -687,7 +687,7 @@
 			    ? "/\\*?[|;&<>\r\n" : "/\\*?[<>\r\n")) != NULL)
 	  || ((get_option_flags(opt_idx) & P_NDNAME)
 		    && vim_strpbrk(*varp, (char_u *)"*?[|;&<>\r\n") != NULL))
-	errmsg = e_invarg;
+	errmsg = e_invalid_argument;
 
     // 'term'
     else if (varp == &T_NAME)
@@ -732,14 +732,14 @@
 	else
 	{
 	    if (opt_strings_flags(bkc, p_bkc_values, flags, TRUE) != OK)
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 	    if ((((int)*flags & BKC_AUTO) != 0)
 		    + (((int)*flags & BKC_YES) != 0)
 		    + (((int)*flags & BKC_NO) != 0) != 1)
 	    {
 		// Must have exactly one of "auto", "yes"  and "no".
 		(void)opt_strings_flags(oldval, p_bkc_values, flags, TRUE);
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 	    }
 	}
     }
@@ -756,7 +756,7 @@
     else if (varp == &curwin->w_p_briopt)
     {
 	if (briopt_check(curwin) == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -771,7 +771,7 @@
 	if (init_chartab() == FAIL)
 	{
 	    did_chartab = TRUE;	    // need to restore it below
-	    errmsg = e_invarg;	    // error in value
+	    errmsg = e_invalid_argument;	    // error in value
 	}
     }
 
@@ -797,7 +797,7 @@
 				  || gvarp == &curwin->w_allbuf_opt.wo_culopt)
     {
 	if (**varp == NUL || fill_culopt_flags(*varp, curwin) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'colorcolumn'
@@ -814,7 +814,7 @@
 	{
 	    if (s[1] == NUL || ((s[2] != ',' || s[3] == NUL) && s[2] != NUL))
 	    {
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 		break;
 	    }
 	    if (s[2] == NUL)
@@ -827,14 +827,14 @@
     else if (varp == &p_hl)
     {
 	if (highlight_changed() == FAIL)
-	    errmsg = e_invarg;	// invalid flags
+	    errmsg = e_invalid_argument;	// invalid flags
     }
 
     // 'nrformats'
     else if (gvarp == &p_nf)
     {
 	if (check_opt_strings(*varp, p_nf_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_SESSION
@@ -842,19 +842,19 @@
     else if (varp == &p_ssop)
     {
 	if (opt_strings_flags(p_ssop, p_ssop_values, &ssop_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	if ((ssop_flags & SSOP_CURDIR) && (ssop_flags & SSOP_SESDIR))
 	{
 	    // Don't allow both "sesdir" and "curdir".
 	    (void)opt_strings_flags(oldval, p_ssop_values, &ssop_flags, TRUE);
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	}
     }
     // 'viewoptions'
     else if (varp == &p_vop)
     {
 	if (opt_strings_flags(p_vop, p_ssop_values, &vop_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -862,14 +862,14 @@
     else if (varp == &p_sbo)
     {
 	if (check_opt_strings(p_sbo, p_scbopt_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'ambiwidth'
     else if (varp == &p_ambw || varp == &p_emoji)
     {
 	if (check_opt_strings(p_ambw, p_ambw_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else if (set_chars_option(curwin, &p_fcs) != NULL)
 	    errmsg = _(e_conflicts_with_value_of_fillchars);
 	else
@@ -920,21 +920,21 @@
 #endif
 	}
 	else
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'wildmode'
     else if (varp == &p_wim)
     {
 	if (check_opt_wim() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'wildoptions'
     else if (varp == &p_wop)
     {
 	if (check_opt_strings(p_wop, p_wop_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_WAK
@@ -943,7 +943,7 @@
     {
 	if (*p_wak == NUL
 		|| check_opt_strings(p_wak, p_wak_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 # ifdef FEAT_MENU
 #  ifdef FEAT_GUI_MOTIF
 	else if (gui.in_use)
@@ -962,7 +962,7 @@
     else if (varp == &p_ei)
     {
 	if (check_ei() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'encoding', 'fileencoding', 'termencoding' and 'makeencoding'
@@ -976,7 +976,7 @@
 	    else if (vim_strchr(*varp, ',') != NULL)
 		// No comma allowed in 'fileencoding'; catches confusing it
 		// with 'fileencodings'.
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 	    else
 	    {
 		// May show a "+" in the title now.
@@ -1029,7 +1029,7 @@
 		{
 		    semsg(_("E950: Cannot convert between %s and %s"),
 			    p_tenc, p_enc);
-		    errmsg = e_invarg;
+		    errmsg = e_invalid_argument;
 		}
 	    }
 
@@ -1069,7 +1069,7 @@
     else if (varp == &p_imak)
     {
 	if (!im_xim_isvalid_imactivate())
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -1077,7 +1077,7 @@
     else if (varp == &curbuf->b_p_keymap)
     {
 	if (!valid_filetype(*varp))
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    int	    secure_save = secure;
@@ -1129,7 +1129,7 @@
 	if (!curbuf->b_p_ma && !(opt_flags & OPT_GLOBAL))
 	    errmsg = e_cannot_make_changes_modifiable_is_off;
 	else if (check_opt_strings(*varp, p_ff_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    // may also change 'textmode'
@@ -1151,7 +1151,7 @@
     else if (varp == &p_ffs)
     {
 	if (check_opt_strings(p_ffs, p_ff_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    // also change 'textauto'
@@ -1186,9 +1186,9 @@
 	else
 	    p = p_cm;
 	if (check_opt_strings(p, p_cm_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else if (crypt_self_test() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    // When setting the global value to empty, make it "zip".
@@ -1257,7 +1257,7 @@
 		}
 		if (x2 != ':' || x3 == -1 || (*p != NUL && *p != ','))
 		{
-		    errmsg = e_invarg;
+		    errmsg = e_invalid_argument;
 		    break;
 		}
 		if (*p == NUL)
@@ -1271,7 +1271,7 @@
 	    {
 		if (p[1] != ':' || p[2] == NUL || (p[3] != NUL && p[3] != ','))
 		{
-		    errmsg = e_invarg;
+		    errmsg = e_invalid_argument;
 		    break;
 		}
 		if (p[3] == NUL)
@@ -1356,7 +1356,7 @@
     {
 	verbose_stop();
 	if (*p_vfile != NUL && verbose_open() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_VIMINFO
@@ -1643,7 +1643,7 @@
 	// that.
 	mch_setmouse(FALSE);
 	if (opt_strings_flags(p_ttym, p_ttym_values, &ttym_flags, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	    check_mouse_termcode();
 	if (termcap_active)
@@ -1656,14 +1656,14 @@
     {
 	if (*p_sel == NUL
 		|| check_opt_strings(p_sel, p_sel_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'selectmode'
     else if (varp == &p_slm)
     {
 	if (check_opt_strings(p_slm, p_slm_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_BROWSE
@@ -1672,7 +1672,7 @@
     {
 	if (check_opt_strings(p_bsdir, p_bsdir_values, FALSE) != OK
 		&& !mch_isdir(p_bsdir))
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -1680,7 +1680,7 @@
     else if (varp == &p_km)
     {
 	if (check_opt_strings(p_km, p_km_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    km_stopsel = (vim_strchr(p_km, 'o') != NULL);
@@ -1692,7 +1692,7 @@
     else if (varp == &p_mousem)
     {
 	if (check_opt_strings(p_mousem, p_mousem_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 #if defined(FEAT_GUI_MOTIF) && defined(FEAT_MENU) && (XmVersion <= 1002)
 	else if (*p_mousem != *oldval)
 	    // Changed from "extend" to "popup" or "popup_setpos" or vv: need
@@ -1705,21 +1705,21 @@
     else if (varp == &p_swb)
     {
 	if (opt_strings_flags(p_swb, p_swb_values, &swb_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'debug'
     else if (varp == &p_debug)
     {
 	if (check_opt_strings(p_debug, p_debug_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'display'
     else if (varp == &p_dy)
     {
 	if (opt_strings_flags(p_dy, p_dy_values, &dy_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	    (void)init_chartab();
 
@@ -1729,7 +1729,7 @@
     else if (varp == &p_ead)
     {
 	if (check_opt_strings(p_ead, p_ead_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_CLIPBOARD
@@ -1748,7 +1748,7 @@
 
 	if ((is_spellfile && !valid_spellfile(*varp))
 	    || (!is_spellfile && !valid_spelllang(*varp)))
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	    errmsg = did_set_spell_option(is_spellfile);
     }
@@ -1761,19 +1761,19 @@
     else if (varp == &(curwin->w_s->b_p_spo))
     {
 	if (**varp != NUL && STRCMP("camel", *varp) != 0)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
     // 'spellsuggest'
     else if (varp == &p_sps)
     {
 	if (spell_check_sps() != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
     // 'mkspellmem'
     else if (varp == &p_msm)
     {
 	if (spell_check_msm() != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -1781,14 +1781,14 @@
     else if (gvarp == &p_bh)
     {
 	if (check_opt_strings(curbuf->b_p_bh, p_bufhidden_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // When 'buftype' is set, check for valid value.
     else if (gvarp == &p_bt)
     {
 	if (check_opt_strings(curbuf->b_p_bt, p_buftype_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    if (curwin->w_status_height)
@@ -1876,7 +1876,7 @@
     else if (varp == &p_cot)
     {
 	if (check_opt_strings(p_cot, p_cot_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	    completeopt_was_set();
     }
@@ -1887,7 +1887,7 @@
     {
 	if (check_opt_strings(p_csl, p_csl_values, FALSE) != OK
 		|| check_opt_strings(curbuf->b_p_csl, p_csl_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -1896,7 +1896,7 @@
     else if (varp == &curwin->w_p_scl)
     {
 	if (check_opt_strings(*varp, p_scl_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	// When changing the 'signcolumn' to or from 'number', recompute the
 	// width of the number column if 'number' or 'relativenumber' is set.
 	if (((*oldval == 'n' && *(oldval + 1) == 'u')
@@ -1913,7 +1913,7 @@
     {
 	if (opt_strings_flags(p_toolbar, p_toolbar_values,
 			      &toolbar_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    out_flush();
@@ -1928,7 +1928,7 @@
     else if (varp == &p_tbis)
     {
 	if (opt_strings_flags(p_tbis, p_tbis_values, &tbis_flags, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    out_flush();
@@ -1961,15 +1961,15 @@
 	if (VIM_ISDIGIT(*p_bs))
 	{
 	    if (*p_bs > '3' || p_bs[1] != NUL)
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 	}
 	else if (check_opt_strings(p_bs, p_bs_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
     else if (varp == &p_bo)
     {
 	if (opt_strings_flags(p_bo, p_bo_values, &bo_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'tagcase'
@@ -1993,14 +1993,14 @@
 	    *flags = 0;
 	else if (*p == NUL
 		|| opt_strings_flags(p, p_tc_values, flags, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'casemap'
     else if (varp == &p_cmp)
     {
 	if (opt_strings_flags(p_cmp, p_cmp_values, &cmp_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_DIFF
@@ -2008,7 +2008,7 @@
     else if (varp == &p_dip)
     {
 	if (diffopt_changed() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -2018,7 +2018,7 @@
     {
 	if (check_opt_strings(*varp, p_fdm_values, FALSE) != OK
 		|| *curwin->w_p_fdm == NUL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    foldUpdateAll(curwin);
@@ -2033,7 +2033,7 @@
 	if (p == NULL)
 	    errmsg = N_("E536: comma required");
 	else if (p == *varp || p[1] == NUL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else if (foldmethodIsMarker(curwin))
 	    foldUpdateAll(curwin);
     }
@@ -2047,13 +2047,13 @@
     else if (varp == &p_fdo)
     {
 	if (opt_strings_flags(p_fdo, p_fdo_values, &fdo_flags, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
     // 'foldclose'
     else if (varp == &p_fcl)
     {
 	if (check_opt_strings(p_fcl, p_fcl_values, TRUE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
     // 'foldignore'
     else if (gvarp == &curwin->w_allbuf_opt.wo_fdi)
@@ -2081,7 +2081,7 @@
 	else
 	{
 	    if (opt_strings_flags(ve, p_ve_values, flags, TRUE) != OK)
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 	    else if (STRCMP(p_ve, oldval) != 0)
 	    {
 		// Recompute cursor position in case the new 've' setting
@@ -2105,7 +2105,7 @@
 			|| vim_strchr((char_u *)CSQF_FLAGS, p[1]) == NULL
 			|| (p[2] != NUL && p[2] != ','))
 		{
-		    errmsg = e_invarg;
+		    errmsg = e_invalid_argument;
 		    break;
 		}
 		else if (p[2] == NUL)
@@ -2131,14 +2131,14 @@
     else if (varp == &p_rop)
     {
 	if (!gui_mch_set_rendering_options(p_rop))
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
     else if (gvarp == &p_ft)
     {
 	if (!valid_filetype(*varp))
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    value_changed = STRCMP(oldval, *varp) != 0;
@@ -2153,7 +2153,7 @@
     else if (gvarp == &p_syn)
     {
 	if (!valid_filetype(*varp))
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	{
 	    value_changed = STRCMP(oldval, *varp) != 0;
@@ -2171,7 +2171,7 @@
     {
 	if (*curwin->w_p_twk != NUL
 				  && string_to_key(curwin->w_p_twk, TRUE) == 0)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
     // 'termwinsize'
     else if (varp == &curwin->w_p_tws)
@@ -2182,7 +2182,7 @@
 	    if (p == curwin->w_p_tws
 		    || (*p != 'x' && *p != '*')
 		    || *skipdigits(p + 1) != NUL)
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 	}
     }
     // 'wincolor'
@@ -2193,7 +2193,7 @@
     else if (varp == &p_twt)
     {
 	if (check_opt_strings(*varp, p_twt_values, FALSE) != OK)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 # endif
 #endif
@@ -2220,7 +2220,7 @@
 		    continue;
 		if (*cp == ',' && cp > *varp && *(cp-1) != ',')
 		    continue;
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 		break;
 	    }
 	    if (errmsg == NULL)
@@ -2232,7 +2232,7 @@
 			vim_free(oldarray);
 		}
 		else
-		    errmsg = e_invarg;
+		    errmsg = e_invalid_argument;
 	    }
 	}
     }
@@ -2258,7 +2258,7 @@
 		    continue;
 		if (*cp == ',' && cp > *varp && *(cp-1) != ',')
 		    continue;
-		errmsg = e_invarg;
+		errmsg = e_invalid_argument;
 		break;
 	    }
 	    if (errmsg == NULL)
@@ -2274,7 +2274,7 @@
 #endif
 		}
 		else
-		    errmsg = e_invarg;
+		    errmsg = e_invalid_argument;
 	    }
 	}
     }
@@ -2285,14 +2285,14 @@
     else if (varp == &p_pvp)
     {
 	if (parse_previewpopup(NULL) == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 # ifdef FEAT_QUICKFIX
     // 'completepopup'
     else if (varp == &p_cpp)
     {
 	if (parse_completepopup(NULL) == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
 	else
 	    popup_close_info();
     }
@@ -2390,21 +2390,21 @@
     else if (gvarp == &p_cfu)
     {
 	if (set_completefunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'omnifunc'
     else if (gvarp == &p_ofu)
     {
 	if (set_omnifunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'thesaurusfunc'
     else if (gvarp == &p_tsrfu)
     {
 	if (set_thesaurusfunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -2414,14 +2414,14 @@
     else if (gvarp == &p_imaf)
     {
 	if (set_imactivatefunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
     // 'imstatusfunc'
     else if (gvarp == &p_imsf)
     {
 	if (set_imstatusfunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -2429,7 +2429,7 @@
     else if (varp == &p_opfunc)
     {
 	if (set_operatorfunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 
 #ifdef FEAT_QUICKFIX
@@ -2437,7 +2437,7 @@
     else if (varp == &p_qftf)
     {
 	if (qf_process_qftf_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif
 
@@ -2446,7 +2446,7 @@
     else if (gvarp == &p_tfu)
     {
 	if (set_tagfunc_option() == FAIL)
-	    errmsg = e_invarg;
+	    errmsg = e_invalid_argument;
     }
 #endif