Problem: Error messages are spread out.
Solution: Move the last errors from globals.h to errors.h.
EXTERN char e_couldnt_read_in_sign_data[]
INIT(= N_("E255: Couldn't read in sign data"));
#endif
+#ifdef FEAT_EVAL
+EXTERN char e_no_white_space_allowed_before_parenthesis[]
+ INIT(= N_("E274: No white space allowed before parenthesis"));
+#endif
+#ifdef FEAT_MENU
+EXTERN char e_menu_only_exists_in_another_mode[]
+ INIT(= N_("E328: Menu only exists in another mode"));
+#endif
EXTERN char e_internal_error_lalloc_zero[]
INIT(= N_("E341: Internal error: lalloc(0, )"));
EXTERN char e_out_of_memory_allocating_nr_bytes[]
EXTERN char e_not_allowed_to_change_text_here[]
INIT(= N_("E578: Not allowed to change text here"));
#ifdef FEAT_EVAL
+EXTERN char e_endif_without_if[]
+ INIT(= N_("E580: :endif without :if"));
+EXTERN char e_else_without_if[]
+ INIT(= N_("E581: :else without :if"));
+EXTERN char e_elseif_without_if[]
+ INIT(= N_("E582: :elseif without :if"));
+EXTERN char e_continue_without_while_or_for[]
+ INIT(= N_("E586: :continue without :while or :for"));
+EXTERN char e_break_without_while_or_for[]
+ INIT(= N_("E587: :break without :while or :for"));
EXTERN char e_endwhile_without_while[]
INIT(= N_("E588: :endwhile without :while"));
EXTERN char e_endfor_without_for[]
EXTERN char e_internal_error_str[]
INIT(= N_("E685: Internal error: %s"));
#ifdef FEAT_EVAL
+EXTERN char e_argument_of_str_must_be_list[]
+ INIT(= N_("E686: Argument of %s must be a List"));
+EXTERN char e_missing_in_after_for[]
+ INIT(= N_("E690: Missing \"in\" after :for"));
+// E693 unused
EXTERN char e_cannot_index_a_funcref[]
INIT(= N_("E695: Cannot index a Funcref"));
EXTERN char e_missing_end_of_list_rsb_str[]
INIT(= N_("E697: Missing end of List ']': %s"));
+// E706 unused
EXTERN char e_list_value_has_more_items_than_targets[]
INIT(= N_("E710: List value has more items than targets"));
EXTERN char e_list_value_does_not_have_enough_items[]
INIT(= N_("E937: Attempt to delete a buffer that is in use: %s"));
EXTERN char e_positive_count_required[]
INIT(= N_("E939: Positive count required"));
+#ifdef FEAT_EVAL
+EXTERN char e_cannot_lock_or_unlock_variable_str[]
+ INIT(= N_("E940: Cannot lock or unlock variable %s"));
+#endif
#ifdef FEAT_TERMINAL
EXTERN char e_job_still_running[]
INIT(= N_("E948: Job still running"));
INIT(= N_("E949: File changed while writing"));
EXTERN char e_autocommand_caused_recursive_behavior[]
INIT(= N_("E952: Autocommand caused recursive behavior"));
+EXTERN char e_invalid_window_number[]
+ INIT(= N_("E957: Invalid window number"));
EXTERN char_u e_invalid_column_number_nr[]
INIT(= N_("E964: Invalid column number: %ld"));
EXTERN char_u e_invalid_line_number_nr[]
if (in_vim9script() && *expr == ':' && expr != var_list_end)
semsg(_(e_no_white_space_allowed_before_colon_str), expr);
else
- emsg(_(e_missing_in));
+ emsg(_(e_missing_in_after_for));
return fi;
}
if (verbose)
{
if (*skipwhite(*arg) == '(')
- emsg(_(e_nowhitespace));
+ emsg(_(e_no_white_space_allowed_before_parenthesis));
else
semsg(_(e_missing_parenthesis_str), "lambda");
}
else if (VIM_ISWHITE((*arg)[-1]))
{
if (verbose)
- emsg(_(e_nowhitespace));
+ emsg(_(e_no_white_space_allowed_before_parenthesis));
ret = FAIL;
}
else
{
if (VIM_ISWHITE(**arg))
{
- emsg(_(e_nowhitespace));
+ emsg(_(e_no_white_space_allowed_before_parenthesis));
ret = FAIL;
}
else if ((**arg == '{' && !in_vim9script()) || **arg == '(')
win = find_win_by_nr_or_id(&argvars[idx]);
if (win == NULL)
{
- emsg(_(e_invalwindow));
+ emsg(_(e_invalid_window_number));
return NULL;
}
}
if (argvars[0].v_type != VAR_LIST || argvars[0].vval.v_list == NULL)
{
- semsg(_(e_listarg), "inputlist()");
+ semsg(_(e_argument_of_str_must_be_list), "inputlist()");
return;
}
*name_end = NUL;
if (*lp->ll_name == '$')
{
- semsg(_(e_lock_unlock), lp->ll_name);
+ semsg(_(e_cannot_lock_or_unlock_variable_str), lp->ll_name);
ret = FAIL;
}
else
{
// For historic reasons this error is not given for a list or
// dict. E.g., the b: dict could be locked/unlocked.
- semsg(_(e_lock_unlock), lp->ll_name);
+ semsg(_(e_cannot_lock_or_unlock_variable_str), lp->ll_name);
ret = FAIL;
}
else
|| !win_valid(wp) || !win_valid(targetwin)
|| win_valid_popup(wp) || win_valid_popup(targetwin))
{
- emsg(_(e_invalwindow));
+ emsg(_(e_invalid_window_number));
rettv->vval.v_number = -1;
return;
}
cstack_T *cstack = eap->cstack;
if (cstack->cs_looplevel <= 0 || cstack->cs_idx < 0)
- eap->errmsg = _(e_continue);
+ eap->errmsg = _(e_continue_without_while_or_for);
else
{
// Try to find the matching ":while". This might stop at a try
cstack_T *cstack = eap->cstack;
if (cstack->cs_looplevel <= 0 || cstack->cs_idx < 0)
- eap->errmsg = _(e_break);
+ eap->errmsg = _(e_break_without_while_or_for);
else
{
// Inactivate conditionals until the matching ":while" or a try
#endif
/*
- * Some error messages that can be shared are included here.
- * They should be moved to errors.h.
+ * Some messages that can be shared are included here.
*/
-#ifdef FEAT_MENU
-EXTERN char e_menuothermode[] INIT(= N_("E328: Menu only exists in another mode"));
-#endif
-EXTERN char e_invalwindow[] INIT(= N_("E957: Invalid window number"));
-EXTERN char e_listarg[] INIT(= N_("E686: Argument of %s must be a List"));
-#ifdef FEAT_EVAL
-EXTERN char e_missing_in[] INIT(= N_("E690: Missing \"in\" after :for"));
-EXTERN char e_else_without_if[] INIT(= N_("E581: :else without :if"));
-EXTERN char e_elseif_without_if[] INIT(= N_("E582: :elseif without :if"));
-EXTERN char e_endif_without_if[] INIT(= N_("E580: :endif without :if"));
-EXTERN char e_continue[] INIT(= N_("E586: :continue without :while or :for"));
-EXTERN char e_break[] INIT(= N_("E587: :break without :while or :for"));
-EXTERN char e_nowhitespace[] INIT(= N_("E274: No white space allowed before parenthesis"));
-
-EXTERN char e_lock_unlock[] INIT(= N_("E940: Cannot lock or unlock variable %s"));
-#endif
-
-EXTERN char e_chan_or_job_req[] INIT(= N_("E706: Channel or Job required"));
-EXTERN char e_jobreq[] INIT(= N_("E693: Job required"));
-
-EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM"));
-EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP"));
+EXTERN char top_bot_msg[] INIT(= N_("search hit TOP, continuing at BOTTOM"));
+EXTERN char bot_top_msg[] INIT(= N_("search hit BOTTOM, continuing at TOP"));
-EXTERN char line_msg[] INIT(= N_(" line "));
+EXTERN char line_msg[] INIT(= N_(" line "));
#ifdef FEAT_CRYPT
-EXTERN char need_key_msg[] INIT(= N_("Need encryption key for \"%s\""));
+EXTERN char need_key_msg[] INIT(= N_("Need encryption key for \"%s\""));
#endif
/*
if (argvars[0].v_type != VAR_LIST)
{
- semsg(_(e_listarg), "flatten()");
+ semsg(_(e_argument_of_str_must_be_list), "flatten()");
return;
}
if (argvars[0].v_type != VAR_LIST)
{
- semsg(_(e_listarg), sort ? "sort()" : "uniq()");
+ semsg(_(e_argument_of_str_must_be_list), sort ? "sort()" : "uniq()");
return;
}
*win = find_win_by_nr_or_id(&di->di_tv);
if (*win == NULL)
{
- emsg(_(e_invalwindow));
+ emsg(_(e_invalid_window_number));
return FAIL;
}
}
if (argvars[1].v_type != VAR_LIST)
{
- semsg(_(e_listarg), "matchaddpos()");
+ semsg(_(e_argument_of_str_must_be_list), "matchaddpos()");
return;
}
l = argvars[1].vval.v_list;
else if (*name != NUL)
{
if (!silent)
- emsg(_(e_menuothermode));
+ emsg(_(e_menu_only_exists_in_another_mode));
return FAIL;
}
}
else if ((menu->modes & modes) == 0x0)
{
- emsg(_(e_menuothermode));
+ emsg(_(e_menu_only_exists_in_another_mode));
vim_free(path_name);
return FAIL;
}
// pum_size being zero.
if (pum_size <= 0)
{
- emsg(e_menuothermode);
+ emsg(e_menu_only_exists_in_another_mode);
return;
}
// validate and get the arguments
if (argvars[0].v_type != VAR_LIST || argvars[0].vval.v_list == NULL)
{
- semsg(_(e_listarg), retmatchpos ? "matchfuzzypos()" : "matchfuzzy()");
+ semsg(_(e_argument_of_str_must_be_list),
+ retmatchpos ? "matchfuzzypos()" : "matchfuzzy()");
return;
}
if (argvars[1].v_type != VAR_STRING
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 3972,
/**/
3971,
/**/
if (*p == ':' && wp != p)
semsg(_(e_no_white_space_allowed_before_colon_str), p);
else
- emsg(_(e_missing_in));
+ emsg(_(e_missing_in_after_for));
return NULL;
}
wp = p + 2;
{
if (scope == NULL)
{
- emsg(_(e_continue));
+ emsg(_(e_continue_without_while_or_for));
return NULL;
}
if (scope->se_type == FOR_SCOPE)
{
if (scope == NULL)
{
- emsg(_(e_break));
+ emsg(_(e_break_without_while_or_for));
return NULL;
}
if (scope->se_type == FOR_SCOPE || scope->se_type == WHILE_SCOPE)
if (**arg != '(')
{
if (*skipwhite(*arg) == '(')
- emsg(_(e_nowhitespace));
+ emsg(_(e_no_white_space_allowed_before_parenthesis));
else
semsg(_(e_missing_parenthesis_str), *arg);
return FAIL;