changeset 25306:078edc1821bf v8.2.3190

patch 8.2.3190: error messages are spread out Commit: https://github.com/vim/vim/commit/e29a27f6f8eef8f00d3c2d4cd9811d81cf3026b3 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jul 20 21:07:36 2021 +0200 patch 8.2.3190: error messages are spread out Problem: Error messages are spread out. Solution: Move error messages to errors.h and give them a clear name.
author Bram Moolenaar <Bram@vim.org>
date Tue, 20 Jul 2021 21:15:05 +0200
parents 4032f1628500
children 10e0c155813d
files src/buffer.c src/debugger.c src/digraph.c src/edit.c src/errors.h src/ex_cmds.c src/ex_cmds2.c src/ex_docmd.c src/ex_eval.c src/globals.h src/gui.c src/list.c src/main.c src/map.c src/match.c src/quickfix.c src/regexp.c src/regexp_bt.c src/regexp_nfa.c src/register.c src/search.c src/session.c src/spell.c src/syntax.c src/time.c src/userfunc.c src/version.c src/vim9execute.c src/window.c
diffstat 29 files changed, 127 insertions(+), 98 deletions(-) [+]
line wrap: on
line diff
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1942,7 +1942,7 @@ no_write_message(void)
 	emsg(_("E948: Job still running (add ! to end the job)"));
     else
 #endif
-	emsg(_("E37: No write since last change (add ! to override)"));
+	emsg(_(e_no_write_since_last_change_add_bang_to_override));
 }
 
     void
@@ -1953,7 +1953,7 @@ no_write_message_nobang(buf_T *buf UNUSE
 	emsg(_("E948: Job still running"));
     else
 #endif
-	emsg(_("E37: No write since last change"));
+	emsg(_(e_no_write_since_last_change));
 }
 
 /*
--- a/src/debugger.c
+++ b/src/debugger.c
@@ -562,7 +562,7 @@ dbg_parsearg(
     {
 	if (curbuf->b_ffname == NULL)
 	{
-	    emsg(_(e_noname));
+	    emsg(_(e_no_file_name));
 	    return FAIL;
 	}
 	bp->dbg_type = DBG_FILE;
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2074,7 +2074,7 @@ putdigraph(char_u *str)
 	str = skipwhite(str);
 	if (!VIM_ISDIGIT(*str))
 	{
-	    emsg(_(e_number_exp));
+	    emsg(_(e_number_expected));
 	    return;
 	}
 	n = getdigits(&str);
@@ -2571,7 +2571,7 @@ keymap_init(void)
 	buflen = STRLEN(curbuf->b_p_keymap) + STRLEN(p_enc) + 14;
 	buf = alloc(buflen);
 	if (buf == NULL)
-	    return e_outofmem;
+	    return e_out_of_memory;
 
 	// try finding "keymap/'keymap'_'encoding'.vim"  in 'runtimepath'
 	vim_snprintf((char *)buf, buflen, "keymap/%s_%s.vim",
--- a/src/edit.c
+++ b/src/edit.c
@@ -2874,7 +2874,7 @@ stuff_inserted(
     ptr = get_last_insert();
     if (ptr == NULL)
     {
-	emsg(_(e_noinstext));
+	emsg(_(e_no_inserted_text_yet));
 	return FAIL;
     }
 
--- a/src/errors.h
+++ b/src/errors.h
@@ -48,7 +48,63 @@ EXTERN char e_no_alternate_file[]
 	INIT(= N_("E23: No alternate file"));
 EXTERN char e_no_such_abbreviation[]
 	INIT(= N_("E24: No such abbreviation"));
+#if !defined(FEAT_GUI) || defined(VIMDLL)
+EXTERN char e_gui_cannot_be_used_not_enabled_at_compile_time[]
+	INIT(= N_("E25: GUI cannot be used: Not enabled at compile time"));
+#endif
+#ifndef FEAT_RIGHTLEFT
+EXTERN char e_hebrew_cannot_be_used_not_enabled_at_compile_time[]
+	INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n"));
+#endif
+EXTERN char e_farsi_support_has_been_removed[]
+	INIT(= N_("E27: Farsi support has been removed\n"));
 #ifdef FEAT_EVAL
+#if defined(FEAT_SEARCH_EXTRA) || defined(FEAT_SYN_HL)
+EXTERN char e_no_such_highlight_group_name_str[]
+	INIT(= N_("E28: No such highlight group name: %s"));
+#endif
+EXTERN char e_no_inserted_text_yet[]
+	INIT(= N_("E29: No inserted text yet"));
+EXTERN char e_no_previous_command_line[]
+	INIT(= N_("E30: No previous command line"));
+EXTERN char e_no_such_mapping[]
+	INIT(= N_("E31: No such mapping"));
+EXTERN char e_no_file_name[]
+	INIT(= N_("E32: No file name"));
+EXTERN char e_no_previous_substitute_regular_expression[]
+	INIT(= N_("E33: No previous substitute regular expression"));
+EXTERN char e_no_previous_command[]
+	INIT(= N_("E34: No previous command"));
+EXTERN char e_no_previous_regular_expression[]
+	INIT(= N_("E35: No previous regular expression"));
+EXTERN char e_not_enough_room[]
+	INIT(= N_("E36: Not enough room"));
+EXTERN char e_no_write_since_last_change[]
+	INIT(= N_("E37: No write since last change"));
+EXTERN char e_no_write_since_last_change_add_bang_to_override[]
+	INIT(= N_("E37: No write since last change (add ! to override)"));
+EXTERN char e_null_argument[]
+	INIT(= N_("E38: Null argument"));
+#if defined(FEAT_DIGRAPHS) || defined(FEAT_TIMERS) || defined(FEAT_EVAL)
+EXTERN char e_number_expected[]
+	INIT(= N_("E39: Number expected"));
+#endif
+#ifdef FEAT_QUICKFIX
+EXTERN char e_cant_open_errorfile_str[]
+	INIT(= N_("E40: Can't open errorfile %s"));
+#endif
+EXTERN char e_out_of_memory[]
+	INIT(= N_("E41: Out of memory!"));
+#ifdef FEAT_QUICKFIX
+EXTERN char e_no_errors[]
+	INIT(= N_("E42: No Errors"));
+#endif
+EXTERN char e_damaged_match_string[]
+	INIT(= N_("E43: Damaged match string"));
+EXTERN char e_corrupted_regexp_program[]
+	INIT(= N_("E44: Corrupted regexp program"));
+EXTERN char e_readonly_option_is_set_add_bang_to_override[]
+	INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
 EXTERN char e_undefined_variable_str[]
 	INIT(= N_("E121: Undefined variable: %s"));
 EXTERN char e_undefined_variable_char_str[]
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -466,7 +466,7 @@ ex_sort(exarg_T *eap)
 	    {
 		if (last_search_pat() == NULL)
 		{
-		    emsg(_(e_noprevre));
+		    emsg(_(e_no_previous_regular_expression));
 		    goto sortend;
 		}
 		regmatch.regprog = vim_regcomp(last_search_pat(), RE_MAGIC);
@@ -935,7 +935,7 @@ do_bang(
 	{
 	    if (prevcmd == NULL)
 	    {
-		emsg(_(e_noprev));
+		emsg(_(e_no_previous_command));
 		vim_free(newcmd);
 		return;
 	    }
@@ -2356,7 +2356,7 @@ check_readonly(int *forceit, buf_T *buf)
 	else
 #endif
 	if (buf->b_p_ro)
-	    emsg(_(e_readonly));
+	    emsg(_(e_readonly_option_is_set_add_bang_to_override));
 	else
 	    semsg(_("E505: \"%s\" is read-only (add ! to override)"),
 		    buf->b_fname);
@@ -3763,7 +3763,7 @@ ex_substitute(exarg_T *eap)
 	    {
 		if (old_sub == NULL)	// there is no previous command
 		{
-		    emsg(_(e_nopresub));
+		    emsg(_(e_no_previous_substitute_regular_expression));
 		    return;
 		}
 		sub = old_sub;
@@ -3779,7 +3779,7 @@ ex_substitute(exarg_T *eap)
     {
 	if (old_sub == NULL)	// there is no previous command
 	{
-	    emsg(_(e_nopresub));
+	    emsg(_(e_no_previous_substitute_regular_expression));
 	    return;
 	}
 	pat = NULL;		// search_regcomp() will use previous pattern
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -413,7 +413,7 @@ check_fname(void)
 {
     if (curbuf->b_ffname == NULL)
     {
-	emsg(_(e_noname));
+	emsg(_(e_no_file_name));
 	return FAIL;
     }
     return OK;
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -919,7 +919,7 @@ do_cmdline(
 	    next_cmdline = vim_strsave(next_cmdline);
 	    if (next_cmdline == NULL)
 	    {
-		emsg(_(e_outofmem));
+		emsg(_(e_out_of_memory));
 		retval = FAIL;
 		break;
 	    }
@@ -6959,7 +6959,7 @@ do_exedit(
     static void
 ex_nogui(exarg_T *eap)
 {
-    eap->errmsg = _(e_nogvim);
+    eap->errmsg = _(e_gui_cannot_be_used_not_enabled_at_compile_time);
 }
 #endif
 
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -255,7 +255,7 @@ cause_errthrow(
 	    if (elem == NULL)
 	    {
 		suppress_errthrow = TRUE;
-		emsg(_(e_outofmem));
+		emsg(_(e_out_of_memory));
 	    }
 	    else
 	    {
@@ -264,7 +264,7 @@ cause_errthrow(
 		{
 		    vim_free(elem);
 		    suppress_errthrow = TRUE;
-		    emsg(_(e_outofmem));
+		    emsg(_(e_out_of_memory));
 		}
 		else
 		{
@@ -592,7 +592,7 @@ throw_exception(void *value, except_type
 nomem:
     vim_free(excp);
     suppress_errthrow = TRUE;
-    emsg(_(e_outofmem));
+    emsg(_(e_out_of_memory));
 fail:
     current_exception = NULL;
     return FAIL;
@@ -1639,7 +1639,7 @@ ex_try(exarg_T *eap)
 
 		elem = ALLOC_ONE(struct eslist_elem);
 		if (elem == NULL)
-		    emsg(_(e_outofmem));
+		    emsg(_(e_out_of_memory));
 		else
 		{
 		    elem->saved_emsg_silent = emsg_silent;
--- a/src/globals.h
+++ b/src/globals.h
@@ -1636,30 +1636,12 @@ EXTERN char e_loadlib[]	INIT(= N_("E370:
 EXTERN char e_loadfunc[]	INIT(= N_("E448: Could not load library function %s"));
 #endif
 EXTERN char e_nobang[]	INIT(= N_("E477: No ! allowed"));
-#if !defined(FEAT_GUI) || defined(VIMDLL)
-EXTERN char e_nogvim[]	INIT(= N_("E25: GUI cannot be used: Not enabled at compile time"));
-#endif
-#ifndef FEAT_RIGHTLEFT
-EXTERN char e_nohebrew[]	INIT(= N_("E26: Hebrew cannot be used: Not enabled at compile time\n"));
-#endif
-EXTERN char e_nofarsi[]		INIT(= N_("E27: Farsi support has been removed\n"));
 #ifndef FEAT_ARABIC
 EXTERN char e_noarabic[]	INIT(= N_("E800: Arabic cannot be used: Not enabled at compile time\n"));
 #endif
-#if defined(FEAT_SEARCH_EXTRA) || defined(FEAT_SYN_HL)
-EXTERN char e_nogroup[]	INIT(= N_("E28: No such highlight group name: %s"));
-#endif
-EXTERN char e_noinstext[]	INIT(= N_("E29: No inserted text yet"));
-EXTERN char e_nolastcmd[]	INIT(= N_("E30: No previous command line"));
-EXTERN char e_nomap[]		INIT(= N_("E31: No such mapping"));
 EXTERN char e_nomatch[]	INIT(= N_("E479: No match"));
 EXTERN char e_nomatch2[]	INIT(= N_("E480: No match: %s"));
-EXTERN char e_noname[]	INIT(= N_("E32: No file name"));
-EXTERN char e_nopresub[]	INIT(= N_("E33: No previous substitute regular expression"));
-EXTERN char e_noprev[]	INIT(= N_("E34: No previous command"));
-EXTERN char e_noprevre[]	INIT(= N_("E35: No previous regular expression"));
 EXTERN char e_norange[]	INIT(= N_("E481: No range allowed"));
-EXTERN char e_noroom[]	INIT(= N_("E36: Not enough room"));
 #ifdef FEAT_CLIENTSERVER
 EXTERN char e_noserver[]	INIT(= N_("E247: no registered server named \"%s\""));
 #endif
@@ -1667,17 +1649,9 @@ EXTERN char e_notcreate[]	INIT(= N_("E48
 EXTERN char e_notmp[]		INIT(= N_("E483: Can't get temp file name"));
 EXTERN char e_notopen[]		INIT(= N_("E484: Can't open file %s"));
 EXTERN char e_notread[]		INIT(= N_("E485: Can't read file %s"));
-EXTERN char e_null[]		INIT(= N_("E38: Null argument"));
-#if defined(FEAT_DIGRAPHS) || defined(FEAT_TIMERS) || defined(FEAT_EVAL)
-EXTERN char e_number_exp[]	INIT(= N_("E39: Number expected"));
-#endif
-#ifdef FEAT_QUICKFIX
-EXTERN char e_openerrf[]	INIT(= N_("E40: Can't open errorfile %s"));
-#endif
 #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
 EXTERN char e_opendisp[]	INIT(= N_("E233: cannot open display"));
 #endif
-EXTERN char e_outofmem[]	INIT(= N_("E41: Out of memory!"));
 EXTERN char e_patnotf[]		INIT(= N_("Pattern not found"));
 EXTERN char e_patnotf2[]	INIT(= N_("E486: Pattern not found: %s"));
 EXTERN char e_positive[]	INIT(= N_("E487: Argument must be positive"));
@@ -1686,12 +1660,8 @@ EXTERN char e_prev_dir[]	INIT(= N_("E459
 #endif
 
 #ifdef FEAT_QUICKFIX
-EXTERN char e_quickfix[]	INIT(= N_("E42: No Errors"));
 EXTERN char e_loclist[]		INIT(= N_("E776: No location list"));
 #endif
-EXTERN char e_re_damg[]		INIT(= N_("E43: Damaged match string"));
-EXTERN char e_re_corr[]		INIT(= N_("E44: Corrupted regexp program"));
-EXTERN char e_readonly[]	INIT(= N_("E45: 'readonly' option is set (add ! to override)"));
 #ifdef FEAT_EVAL
 EXTERN char e_letwrong[]	INIT(= N_("E734: Wrong variable type for %s="));
 EXTERN char e_illvar[]		INIT(= N_("E461: Illegal variable name: %s"));
--- a/src/gui.c
+++ b/src/gui.c
@@ -5038,7 +5038,7 @@ ex_gui(exarg_T *eap)
 #if defined(VIMDLL) && !defined(EXPERIMENTAL_GUI_CMD)
 	if (!gui.starting)
 	{
-	    emsg(_(e_nogvim));
+	    emsg(_(e_gui_cannot_be_used_not_enabled_at_compile_time));
 	    return;
 	}
 #endif
--- a/src/list.c
+++ b/src/list.c
@@ -3049,7 +3049,7 @@ f_reduce(typval_T *argvars, typval_T *re
 	}
 	else if (argvars[2].v_type != VAR_NUMBER)
 	{
-	    emsg(_(e_number_exp));
+	    emsg(_(e_number_expected));
 	    return;
 	}
 	else
--- a/src/main.c
+++ b/src/main.c
@@ -2133,7 +2133,7 @@ command_line_scan(mparm_T *parmp)
 		break;
 
 	    case 'F':		// "-F" was for Farsi mode
-		mch_errmsg(_(e_nofarsi));
+		mch_errmsg(_(e_farsi_support_has_been_removed));
 		mch_exit(2);
 		break;
 
@@ -2151,7 +2151,7 @@ command_line_scan(mparm_T *parmp)
 		p_hkmap = TRUE;
 		set_option_value((char_u *)"rl", 1L, NULL, 0);
 #else
-		mch_errmsg(_(e_nohebrew));
+		mch_errmsg(_(e_hebrew_cannot_be_used_not_enabled_at_compile_time));
 		mch_exit(2);
 #endif
 		break;
@@ -3282,7 +3282,7 @@ main_start_gui(void)
 #ifdef FEAT_GUI
     gui.starting = TRUE;	// start GUI a bit later
 #else
-    mch_errmsg(_(e_nogvim));
+    mch_errmsg(_(e_gui_cannot_be_used_not_enabled_at_compile_time));
     mch_errmsg("\n");
     mch_exit(2);
 #endif
--- a/src/map.c
+++ b/src/map.c
@@ -2723,7 +2723,8 @@ do_exmap(exarg_T *eap, int isabbrev)
     {
 	case 1: emsg(_(e_invarg));
 		break;
-	case 2: emsg((isabbrev ? _(e_no_such_abbreviation) : _(e_nomap)));
+	case 2: emsg((isabbrev ? _(e_no_such_abbreviation)
+						      : _(e_no_such_mapping)));
 		break;
     }
 }
--- a/src/match.c
+++ b/src/match.c
@@ -64,7 +64,7 @@ match_add(
     }
     if ((hlg_id = syn_namen2id(grp, (int)STRLEN(grp))) == 0)
     {
-	semsg(_(e_nogroup), grp);
+	semsg(_(e_no_such_highlight_group_name_str), grp);
 	return -1;
     }
     if (pat != NULL && (regprog = vim_regcomp(pat, RE_MAGIC)) == NULL)
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -1571,7 +1571,7 @@ qf_setup_state(
 
     if (efile != NULL && (pstate->fd = mch_fopen((char *)efile, "r")) == NULL)
     {
-	semsg(_(e_openerrf), efile);
+	semsg(_(e_cant_open_errorfile_str), efile);
 	return FAIL;
     }
 
@@ -3439,7 +3439,7 @@ qf_jump_newwin(qf_info_T	*qi,
 
     if (qf_stack_empty(qi) || qf_list_empty(qf_get_curlist(qi)))
     {
-	emsg(_(e_quickfix));
+	emsg(_(e_no_errors));
 	return;
     }
 
@@ -3619,7 +3619,7 @@ qf_list(exarg_T *eap)
 
     if (qf_stack_empty(qi) || qf_list_empty(qf_get_curlist(qi)))
     {
-	emsg(_(e_quickfix));
+	emsg(_(e_no_errors));
 	return;
     }
     if (*arg == '+')
@@ -4025,7 +4025,7 @@ qf_view_result(int split)
 
     if (qf_list_empty(qf_get_curlist(qi)))
     {
-	emsg(_(e_quickfix));
+	emsg(_(e_no_errors));
 	return;
     }
 
@@ -5668,7 +5668,7 @@ ex_cbelow(exarg_T *eap)
 	buf_has_flag = BUF_HAS_LL_ENTRY;
     if (!(curbuf->b_has_qf_entry & buf_has_flag))
     {
-	emsg(_(e_quickfix));
+	emsg(_(e_no_errors));
 	return;
     }
 
@@ -5679,7 +5679,7 @@ ex_cbelow(exarg_T *eap)
     // check if the list has valid errors
     if (!qf_list_has_valid_entries(qfl))
     {
-	emsg(_(e_quickfix));
+	emsg(_(e_no_errors));
 	return;
     }
 
@@ -5843,7 +5843,7 @@ vgr_init_regmatch(regmmatch_T *regmatch,
 	// Pattern is empty, use last search pattern.
 	if (last_search_pat() == NULL)
 	{
-	    emsg(_(e_noprevre));
+	    emsg(_(e_no_previous_regular_expression));
 	    return;
 	}
 	regmatch->regprog = vim_regcomp(last_search_pat(), RE_MAGIC);
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -1359,7 +1359,7 @@ prog_magic_wrong(void)
 
     if (UCHARAT(((bt_regprog_T *)prog)->program) != REGMAGIC)
     {
-	emsg(_(e_re_corr));
+	emsg(_(e_corrupted_regexp_program));
 	return TRUE;
     }
     return FALSE;
@@ -1982,7 +1982,7 @@ vim_regsub_both(
     // Be paranoid...
     if ((source == NULL && expr == NULL) || dest == NULL)
     {
-	emsg(_(e_null));
+	emsg(_(e_null_argument));
 	return 0;
     }
     if (prog_magic_wrong())
@@ -2289,7 +2289,7 @@ vim_regsub_both(
 		    else if (*s == NUL) // we hit NUL.
 		    {
 			if (copy)
-			    iemsg(_(e_re_damg));
+			    iemsg(_(e_damaged_match_string));
 			goto exit;
 		    }
 		    else
--- a/src/regexp_bt.c
+++ b/src/regexp_bt.c
@@ -1424,7 +1424,7 @@ regatom(int *flagp)
 		}
 	    }
 	    else
-		EMSG_RET_NULL(_(e_nopresub));
+		EMSG_RET_NULL(_(e_no_previous_substitute_regular_expression));
 	    break;
 
       case Magic('1'):
@@ -2491,7 +2491,7 @@ bt_regcomp(char_u *expr, int re_flags)
     int		flags;
 
     if (expr == NULL)
-	IEMSG_RET_NULL(_(e_null));
+	IEMSG_RET_NULL(_(e_null_argument));
 
     init_class_tab();
 
@@ -3115,7 +3115,7 @@ do_class:
 	break;
 
       default:			// Oh dear.  Called inappropriately.
-	iemsg(_(e_re_corr));
+	iemsg(_(e_corrupted_regexp_program));
 #ifdef DEBUG
 	printf("Called regrepeat with op code %d\n", OP(p));
 #endif
@@ -4309,7 +4309,7 @@ regmatch(
 	    break;
 
 	  default:
-	    iemsg(_(e_re_corr));
+	    iemsg(_(e_corrupted_regexp_program));
 #ifdef DEBUG
 	    printf("Illegal op code %d\n", op);
 #endif
@@ -4709,7 +4709,7 @@ regmatch(
 	{
 	    // We get here only if there's trouble -- normally "case END" is
 	    // the terminating point.
-	    iemsg(_(e_re_corr));
+	    iemsg(_(e_corrupted_regexp_program));
 #ifdef DEBUG
 	    printf("Premature EOL\n");
 #endif
@@ -4859,7 +4859,7 @@ bt_regexec_both(
     // Be paranoid...
     if (prog == NULL || line == NULL)
     {
-	iemsg(_(e_null));
+	iemsg(_(e_null_argument));
 	goto theend;
     }
 
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -1527,7 +1527,7 @@ nfa_regatom(void)
 		// Generated as "\%(pattern\)".
 		if (reg_prev_sub == NULL)
 		{
-		    emsg(_(e_nopresub));
+		    emsg(_(e_no_previous_substitute_regular_expression));
 		    return FAIL;
 		}
 		for (lp = reg_prev_sub; *lp != NUL; MB_CPTR_ADV(lp))
@@ -7356,7 +7356,7 @@ nfa_regexec_both(
     // Be paranoid...
     if (prog == NULL || line == NULL)
     {
-	iemsg(_(e_null));
+	iemsg(_(e_null_argument));
 	goto theend;
     }
 
--- a/src/register.c
+++ b/src/register.c
@@ -594,7 +594,7 @@ do_execreg(
     {
 	if (last_cmdline == NULL)
 	{
-	    emsg(_(e_nolastcmd));
+	    emsg(_(e_no_previous_command_line));
 	    return FAIL;
 	}
 	// don't keep the cmdline containing @:
@@ -632,7 +632,7 @@ do_execreg(
 	p = get_last_insert_save();
 	if (p == NULL)
 	{
-	    emsg(_(e_noinstext));
+	    emsg(_(e_no_inserted_text_yet));
 	    return FAIL;
 	}
 	retval = put_in_typebuf(p, FALSE, colon, silent);
@@ -867,13 +867,13 @@ get_spec_reg(
 
 	case ':':		// last command line
 	    if (last_cmdline == NULL && errmsg)
-		emsg(_(e_nolastcmd));
+		emsg(_(e_no_previous_command_line));
 	    *argp = last_cmdline;
 	    return TRUE;
 
 	case '/':		// last search-pattern
 	    if (last_search_pat() == NULL && errmsg)
-		emsg(_(e_noprevre));
+		emsg(_(e_no_previous_regular_expression));
 	    *argp = last_search_pat();
 	    return TRUE;
 
@@ -881,7 +881,7 @@ get_spec_reg(
 	    *argp = get_last_insert_save();
 	    *allocated = TRUE;
 	    if (*argp == NULL && errmsg)
-		emsg(_(e_noinstext));
+		emsg(_(e_no_inserted_text_yet));
 	    return TRUE;
 
 #ifdef FEAT_SEARCHPATH
--- a/src/search.c
+++ b/src/search.c
@@ -148,9 +148,9 @@ search_regcomp(
 	if (spats[i].pat == NULL)	// pattern was never defined
 	{
 	    if (pat_use == RE_SUBST)
-		emsg(_(e_nopresub));
+		emsg(_(e_no_previous_substitute_regular_expression));
 	    else
-		emsg(_(e_noprevre));
+		emsg(_(e_no_previous_regular_expression));
 	    rc_did_emsg = TRUE;
 	    return FAIL;
 	}
@@ -1323,7 +1323,7 @@ do_search(
 		searchstr = spats[RE_SUBST].pat;
 		if (searchstr == NULL)
 		{
-		    emsg(_(e_noprevre));
+		    emsg(_(e_no_previous_regular_expression));
 		    retval = 0;
 		    goto end_do_search;
 		}
--- a/src/session.c
+++ b/src/session.c
@@ -977,7 +977,7 @@ get_view_file(int c)
 
     if (curbuf->b_ffname == NULL)
     {
-	emsg(_(e_noname));
+	emsg(_(e_no_file_name));
 	return NULL;
     }
     sname = home_replace_save(NULL, curbuf->b_ffname);
--- a/src/spell.c
+++ b/src/spell.c
@@ -2137,7 +2137,7 @@ did_set_spelllang(win_T *wp)
 		    if (ga_grow(&ga, 1) == FAIL)
 		    {
 			ga_clear(&ga);
-			ret_msg = e_outofmem;
+			ret_msg = e_out_of_memory;
 			goto theend;
 		    }
 		    LANGP_ENTRY(ga, ga.ga_len)->lp_slang = slang;
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -3723,7 +3723,7 @@ syn_cmd_clear(exarg_T *eap, int syncing)
 		id = syn_namen2id(arg, (int)(arg_end - arg));
 		if (id == 0)
 		{
-		    semsg(_(e_nogroup), arg);
+		    semsg(_(e_no_such_highlight_group_name_str), arg);
 		    break;
 		}
 		else
@@ -3921,7 +3921,7 @@ syn_cmd_list(
 	    {
 		id = syn_namen2id(arg, (int)(arg_end - arg));
 		if (id == 0)
-		    semsg(_(e_nogroup), arg);
+		    semsg(_(e_no_such_highlight_group_name_str), arg);
 		else
 		    syn_list_one(id, syncing, TRUE);
 	    }
--- a/src/time.c
+++ b/src/time.c
@@ -757,7 +757,7 @@ f_timer_info(typval_T *argvars, typval_T
     if (argvars[0].v_type != VAR_UNKNOWN)
     {
 	if (argvars[0].v_type != VAR_NUMBER)
-	    emsg(_(e_number_exp));
+	    emsg(_(e_number_expected));
 	else
 	{
 	    timer = find_timer((int)tv_get_number(&argvars[0]));
@@ -783,7 +783,7 @@ f_timer_pause(typval_T *argvars, typval_
 	return;
 
     if (argvars[0].v_type != VAR_NUMBER)
-	emsg(_(e_number_exp));
+	emsg(_(e_number_expected));
     else
     {
 	int	paused = (int)tv_get_bool(&argvars[1]);
@@ -844,7 +844,7 @@ f_timer_stop(typval_T *argvars, typval_T
 
     if (argvars[0].v_type != VAR_NUMBER)
     {
-	emsg(_(e_number_exp));
+	emsg(_(e_number_expected));
 	return;
     }
     timer = find_timer((int)tv_get_number(&argvars[0]));
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -5028,7 +5028,7 @@ do_return(
 		if ((cstack->cs_rettv[idx] = alloc_tv()) != NULL)
 		    *(typval_T *)cstack->cs_rettv[idx] = *(typval_T *)rettv;
 		else
-		    emsg(_(e_outofmem));
+		    emsg(_(e_out_of_memory));
 	    }
 	    else
 		cstack->cs_rettv[idx] = NULL;
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3190,
+/**/
     3189,
 /**/
     3188,
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2337,7 +2337,7 @@ exec_instructions(ectx_T *ectx)
 			else if (dest_type == VAR_LIST
 					       && tv_idx->v_type != VAR_NUMBER)
 			{
-			    emsg(_(e_number_exp));
+			    emsg(_(e_number_expected));
 			    status = FAIL;
 			}
 		    }
@@ -3955,7 +3955,7 @@ exec_instructions(ectx_T *ectx)
 			)
 		{
 		    SOURCING_LNUM = iptr->isn_lnum;
-		    emsg(_(e_number_exp));
+		    emsg(_(e_number_expected));
 		    goto on_error;
 		}
 #ifdef FEAT_FLOAT
--- a/src/window.c
+++ b/src/window.c
@@ -863,7 +863,7 @@ win_split_ins(
     {
 	if (VISIBLE_HEIGHT(oldwin) <= p_wmh && new_wp == NULL)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    return FAIL;
 	}
 	need_status = STATUS_HEIGHT;
@@ -921,7 +921,7 @@ win_split_ins(
 	}
 	if (available < needed && new_wp == NULL)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    return FAIL;
 	}
 	if (new_size == 0)
@@ -1004,7 +1004,7 @@ win_split_ins(
 	}
 	if (available < needed && new_wp == NULL)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    return FAIL;
 	}
 	oldwin_height = oldwin->w_height;
@@ -5867,7 +5867,7 @@ win_setminheight(void)
 	--p_wmh;
 	if (first)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    first = FALSE;
 	}
     }
@@ -5893,7 +5893,7 @@ win_setminwidth(void)
 	--p_wmw;
 	if (first)
 	{
-	    emsg(_(e_noroom));
+	    emsg(_(e_not_enough_room));
 	    first = FALSE;
 	}
     }
@@ -6385,7 +6385,7 @@ command_height(void)
 	    {
 		if (frp == NULL)
 		{
-		    emsg(_(e_noroom));
+		    emsg(_(e_not_enough_room));
 		    p_ch = old_p_ch;
 		    curtab->tp_ch_used = p_ch;
 		    cmdline_row = Rows - p_ch;
@@ -6476,7 +6476,7 @@ last_status_rec(frame_T *fr, int statusl
 	    {
 		if (fp == topframe)
 		{
-		    emsg(_(e_noroom));
+		    emsg(_(e_not_enough_room));
 		    return;
 		}
 		// In a column of frames: go to frame above.  If already at