Problem: Error messages are spread out.
Solution: Move more error messages to errors.h.
}
else if (*action == 'e')
{
- semsg(_("E737: Key already exists: %s"), hi2->hi_key);
+ semsg(_(e_key_already_exists_str), hi2->hi_key);
break;
}
else if (*action == 'f' && HI2DI(hi2) != di1)
EXTERN char e_invalid_buffer_identifier_in_getanno[]
INIT(= "E652: Invalid buffer identifier in getAnno");
#endif
-
+// E653 unused
+EXTERN char e_missing_delimiter_after_search_pattern_str[]
+ INIT(= N_("E654: missing delimiter after search pattern: %s"));
+EXTERN char e_too_many_symbolic_links_cycle[]
+ INIT(= N_("E655: Too many symbolic links (cycle?)"));
#ifdef FEAT_NETBEANS_INTG
// E656
EXTERN char e_netbeans_disallows_writes_of_unmodified_buffers[]
INIT(= N_("Partial writes disallowed for NetBeans buffers"));
EXTERN char e_netbeans_connection_lost_for_buffer_nr[]
INIT(= N_("E658: NetBeans connection lost for buffer %d"));
+#endif
+#ifdef FEAT_PYTHON
+EXTERN char e_cannot_invoke_python_recursively[]
+ INIT(= N_("E659: Cannot invoke Python recursively"));
+#endif
+#ifdef FEAT_NETBEANS_INTG
EXTERN char e_cannot_open_netbeans_connection_info_file[]
INIT(= "E660: Cannot open NetBeans connection info file");
#endif
+#ifdef FEAT_MULTI_LANG
+EXTERN char e_sorry_no_str_help_for_str[]
+ INIT(= N_("E661: Sorry, no '%s' help for %s"));
+#endif
+EXTERN char e_at_start_of_changelist[]
+ INIT(= N_("E662: At start of changelist"));
+EXTERN char e_at_end_of_changelist[]
+ INIT(= N_("E663: At end of changelist"));
+EXTERN char e_changelist_is_empty[]
+ INIT(= N_("E664: changelist is empty"));
+#ifdef FEAT_GUI
+EXTERN char e_cannot_start_gui_no_valid_font_found[]
+ INIT(= N_("E665: Cannot start GUI, no valid font found"));
+#endif
+EXTERN char e_compiler_not_supported_str[]
+ INIT(= N_("E666: compiler not supported: %s"));
#ifdef HAVE_FSYNC
EXTERN char e_fsync_failed[]
INIT(= N_("E667: Fsync failed"));
EXTERN char e_wrong_access_mode_for_netbeans_connection_info_file_str[]
INIT(= N_("E668: Wrong access mode for NetBeans connection info file: \"%s\""));
#endif
+EXTERN char e_unprintable_character_in_group_name[]
+ INIT(= N_("E669: Unprintable character in group name"));
+EXTERN char e_mix_of_help_file_encodings_within_language_str[]
+ INIT(= N_("E670: Mix of help file encodings within a language: %s"));
+#ifdef FEAT_GUI_MSWIN
+EXTERN char e_cannot_find_window_title_str[]
+ INIT(= N_("E671: Cannot find window title \"%s\""));
+EXTERN char e_unable_to_open_window_inside_mdi_application[]
+ INIT(= N_("E672: Unable to open window inside MDI application"));
+#endif
+EXTERN char e_incompatible_multi_byte_encoding_and_character_set[]
+ INIT(= N_("E673: Incompatible multi-byte encoding and character set"));
+EXTERN char e_printmbcharset_cannot_be_empty_with_multi_byte_encoding[]
+ INIT(= N_("E674: printmbcharset cannot be empty with multi-byte encoding."));
+EXTERN char e_no_default_font_specified_for_multi_byte_printing[]
+ INIT(= N_("E675: No default font specified for multi-byte printing."));
EXTERN char e_no_matching_autocommands_for_acwrite_buffer[]
INIT(= N_("E676: No matching autocommands for acwrite buffer"));
+EXTERN char e_error_writing_temp_file[]
+ INIT(= N_("E677: Error writing temp file"));
+EXTERN char e_invalid_character_after_str_2[]
+ INIT(= N_("E678: Invalid character after %s%%[dxouU]"));
+EXTERN char e_recursive_loop_loading_syncolor_vim[]
+ INIT(= N_("E679: recursive loop loading syncolor.vim"));
EXTERN char e_buffer_nr_invalid_buffer_number[]
INIT(= N_("E680: <buffer=%d>: invalid buffer number"));
+EXTERN char e_buffer_is_not_loaded[]
+ INIT(= N_("E681: Buffer is not loaded"));
EXTERN char e_invalid_search_pattern_or_delimiter[]
INIT(= N_("E682: Invalid search pattern or delimiter"));
+EXTERN char e_file_name_missing_or_invalid_pattern[]
+ INIT(= N_("E683: File name missing or invalid pattern"));
#ifdef FEAT_EVAL
EXTERN char e_list_index_out_of_range_nr[]
INIT(= N_("E684: list index out of range: %ld"));
#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_less_targets_than_list_items[]
+ INIT(= N_("E687: Less targets than List items"));
+EXTERN char e_more_targets_than_list_items[]
+ INIT(= N_("E688: More targets than List items"));
+EXTERN char e_can_only_index_list_dictionary_or_blob[]
+ INIT(= N_("E689: Can only index a List, Dictionary or Blob"));
EXTERN char e_missing_in_after_for[]
INIT(= N_("E690: Missing \"in\" after :for"));
+EXTERN char e_can_only_compare_list_with_list[]
+ INIT(= N_("E691: Can only compare List with List"));
+EXTERN char e_invalid_operation_for_list[]
+ INIT(= N_("E692: Invalid operation for List"));
// E693 unused
+EXTERN char e_invalid_operation_for_funcrefs[]
+ INIT(= N_("E694: Invalid operation for Funcrefs"));
EXTERN char e_cannot_index_a_funcref[]
INIT(= N_("E695: Cannot index a Funcref"));
+EXTERN char e_missing_comma_in_list_str[]
+ INIT(= N_("E696: Missing comma in List: %s"));
EXTERN char e_missing_end_of_list_rsb_str[]
INIT(= N_("E697: Missing end of List ']': %s"));
-
+EXTERN char e_variable_nested_too_deep_for_making_copy[]
+ INIT(= N_("E698: variable nested too deep for making a copy"));
+EXTERN char e_too_many_arguments[]
+ INIT(= N_("E699: Too many arguments"));
+EXTERN char e_unknown_function_str_2[]
+ INIT(= N_("E700: Unknown function: %s"));
+EXTERN char e_invalid_type_for_len[]
+ INIT(= N_("E701: Invalid type for len()"));
+EXTERN char e_sort_compare_function_failed[]
+ INIT(= N_("E702: Sort compare function failed"));
+EXTERN char e_using_funcref_as_number[]
+ INIT(= N_("E703: Using a Funcref as a Number"));
+EXTERN char e_funcref_variable_name_must_start_with_capital_str[]
+ INIT(= N_("E704: Funcref variable name must start with a capital: %s"));
+EXTERN char e_variable_name_conflicts_with_existing_function_str[]
+ INIT(= N_("E705: Variable name conflicts with existing function: %s"));
// E706 unused
+EXTERN char e_function_name_conflicts_with_variable_str[]
+ INIT(= N_("E707: Function name conflicts with variable: %s"));
+EXTERN char e_slice_must_come_last[]
+ INIT(= N_("E708: [:] must come last"));
+EXTERN char e_slice_requires_list_or_blob_value[]
+ INIT(= N_("E709: [:] requires a List or Blob value"));
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_("E715: Dictionary required"));
EXTERN char e_key_not_present_in_dictionary[]
INIT(= N_("E716: Key not present in Dictionary: \"%s\""));
+EXTERN char e_dictionary_entry_already_exists[]
+ INIT(= N_("E717: Dictionary entry already exists"));
+EXTERN char e_funcref_required[]
+ INIT(= N_("E718: Funcref required"));
EXTERN char e_cannot_slice_dictionary[]
INIT(= N_("E719: Cannot slice a Dictionary"));
EXTERN char e_missing_colon_in_dictionary[]
INIT(= N_("E722: Missing comma in Dictionary: %s"));
EXTERN char e_missing_dict_end[]
INIT(= N_("E723: Missing end of Dictionary '}': %s"));
+EXTERN char e_variable_nested_too_deep_for_displaying[]
+ INIT(= N_("E724: variable nested too deep for displaying"));
+EXTERN char e_calling_dict_function_without_dictionary_str[]
+ INIT(= N_("E725: Calling dict function without Dictionary: %s"));
+EXTERN char e_stride_is_zero[]
+ INIT(= N_("E726: Stride is zero"));
+EXTERN char e_start_past_end[]
+ INIT(= N_("E727: Start past end"));
+EXTERN char e_using_dictionary_as_number[]
+ INIT(= N_("E728: Using a Dictionary as a Number"));
+EXTERN char e_using_funcref_as_string[]
+ INIT(= N_("E729: Using a Funcref as a String"));
+EXTERN char e_using_list_as_string[]
+ INIT(= N_("E730: Using a List as a String"));
+EXTERN char e_using_dictionary_as_string[]
+ INIT(= N_("E731: Using a Dictionary as a String"));
+EXTERN char e_using_endfor_with_while[]
+ INIT(= N_("E732: Using :endfor with :while"));
+EXTERN char e_using_endwhile_with_for[]
+ INIT(= N_("E733: Using :endwhile with :for"));
EXTERN char e_wrong_variable_type_for_str_equal[]
INIT(= N_("E734: Wrong variable type for %s="));
+EXTERN char e_can_only_compare_dictionary_with_dictionary[]
+ INIT(= N_("E735: Can only compare Dictionary with Dictionary"));
+EXTERN char e_invalid_operation_for_dictionary[]
+ INIT(= N_("E736: Invalid operation for Dictionary"));
+EXTERN char e_key_already_exists_str[]
+ INIT(= N_("E737: Key already exists: %s"));
+EXTERN char e_cant_list_variables_for_str[]
+ INIT(= N_("E738: Can't list variables for %s"));
+EXTERN char e_cannot_create_directory_str[]
+ INIT(= N_("E739: Cannot create directory: %s"));
+EXTERN char e_too_many_arguments_for_function_str_2[]
+ INIT(= N_("E740: Too many arguments for function %s"));
EXTERN char e_value_is_locked[]
INIT(= N_("E741: Value is locked"));
EXTERN char e_value_is_locked_str[]
EXTERN char e_buffer_cannot_be_registered[]
INIT(= N_("E931: Buffer cannot be registered"));
#ifdef FEAT_EVAL
+EXTERN char e_closure_function_should_not_be_at_top_level[]
+ INIT(= N_("E932: Closure function should not be at top level: %s"));
EXTERN char e_function_was_deleted_str[]
INIT(= N_("E933: Function was deleted: %s"));
#endif
&& lp->ll_tv->v_type != VAR_BLOB)
{
if (!quiet)
- emsg(_("E689: Can only index a List, Dictionary or Blob"));
+ emsg(_(e_can_only_index_list_dictionary_or_blob));
return NULL;
}
if (lp->ll_range)
{
if (!quiet)
- emsg(_("E708: [:] must come last"));
+ emsg(_(e_slice_must_come_last));
return NULL;
}
&& rettv->vval.v_blob != NULL))
{
if (!quiet)
- emsg(_("E709: [:] requires a List or Blob value"));
+ emsg(_(e_slice_requires_list_or_blob_value));
clear_tv(&var1);
return NULL;
}
// flooding the user with errors. And stop iterating over lists
// and dicts.
did_echo_string_emsg = TRUE;
- emsg(_("E724: variable nested too deep for displaying"));
+ emsg(_(e_variable_nested_too_deep_for_displaying));
}
*tofree = NULL;
return (char_u *)"{E724}";
if (recurse >= DICT_MAXNEST)
{
- emsg(_("E698: variable nested too deep for making a copy"));
+ emsg(_(e_variable_nested_too_deep_for_making_copy));
return FAIL;
}
++recurse;
else if (trans_name != NULL && (is_funcref
? find_func(trans_name, is_global, NULL) == NULL
: !translated_function_exists(trans_name, is_global)))
- semsg(_("E700: Unknown function: %s"), s);
+ semsg(_(e_unknown_function_str_2), s);
else
{
int dict_idx = 0;
case VAR_JOB:
case VAR_CHANNEL:
case VAR_INSTR:
- emsg(_("E701: Invalid type for len()"));
+ emsg(_(e_invalid_type_for_len));
break;
}
}
if (error)
return; // type error; errmsg already given
if (stride == 0)
- emsg(_("E726: Stride is zero"));
+ emsg(_(e_stride_is_zero));
else if (stride > 0 ? end + 1 < start : end - 1 > start)
- emsg(_("E727: Start past end"));
+ emsg(_(e_start_past_end));
else if (rettv_list_alloc(rettv) == OK)
{
list_T *list = rettv->vval.v_list;
i = list_len(l);
if (semicolon == 0 && var_count < i)
{
- emsg(_("E687: Less targets than List items"));
+ emsg(_(e_less_targets_than_list_items));
return FAIL;
}
if (var_count - semicolon > i)
{
- emsg(_("E688: More targets than List items"));
+ emsg(_(e_more_targets_than_list_items));
return FAIL;
}
case 's': list_script_vars(first); break;
case 'l': list_func_vars(first); break;
default:
- semsg(_("E738: Can't list variables for %s"), name);
+ semsg(_(e_cant_list_variables_for_str), name);
}
}
else
&& !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
? name[2] : name[0]))
{
- semsg(_("E704: Funcref variable name must start with a capital: %s"),
- name);
+ semsg(_(e_funcref_variable_name_must_start_with_capital_str), name);
return TRUE;
}
// Don't allow hiding a function. When "v" is not NULL we might be
// below.
if (new_var && function_exists(name, FALSE))
{
- semsg(_("E705: Variable name conflicts with existing function: %s"),
+ semsg(_(e_variable_name_conflicts_with_existing_function_str),
name);
return TRUE;
}
sprintf((char *)buf, "compiler/%s.vim", eap->arg);
if (source_runtime(buf, DIP_ALL) == FAIL)
- semsg(_("E666: compiler not supported: %s"), eap->arg);
+ semsg(_(e_compiler_not_supported_str), eap->arg);
vim_free(buf);
do_cmdline_cmd((char_u *)":delcommand CompilerSet");
{
if (vim_mkdir(name, prot) != 0)
{
- semsg(_("E739: Cannot create directory: %s"), name);
+ semsg(_(e_cannot_create_directory_str), name);
return FAIL;
}
return OK;
// If we are in a ":while" or ":for" but used the wrong endloop
// command, do not rewind to the next enclosing ":for"/":while".
if (fl & CSF_WHILE)
- eap->errmsg = _("E732: Using :endfor with :while");
+ eap->errmsg = _(e_using_endfor_with_while);
else if (fl & CSF_FOR)
- eap->errmsg = _("E733: Using :endwhile with :for");
+ eap->errmsg = _(e_using_endwhile_with_for);
}
if (!(fl & (CSF_WHILE | CSF_FOR)))
{
{
vim_free(p);
vim_free(remain);
- emsg(_("E655: Too many symbolic links (cycle?)"));
+ emsg(_(e_too_many_symbolic_links_cycle));
rettv->vval.v_string = NULL;
goto fail;
}
gui_init_font(*p_guifont == NUL ? hl_get_font_name()
: p_guifont, FALSE) == FAIL)
{
- emsg(_("E665: Cannot start GUI, no valid font found"));
+ emsg(_(e_cannot_start_gui_no_valid_font_found));
goto error2;
}
if (gui_get_wide_font() == FAIL)
EnumWindows(FindWindowTitle, (LPARAM)title);
if (vim_parent_hwnd == NULL)
{
- semsg(_("E671: Cannot find window title \"%s\""), title);
+ semsg(_(e_cannot_find_window_title_str), title);
mch_exit(2);
}
}
#endif
if (s_hwnd == NULL)
{
- emsg(_("E672: Unable to open window inside MDI application"));
+ emsg(_(e_unable_to_open_window_inside_mdi_application));
mch_exit(2);
}
}
// Check encoding and character set are compatible
if ((p_mbenc->needs_charset & p_mbchar->has_charset) == 0)
{
- emsg(_("E673: Incompatible multi-byte encoding and character set."));
+ emsg(_(e_incompatible_multi_byte_encoding_and_character_set));
return FALSE;
}
// Add custom CMap character set name
if (*p_pmcs == NUL)
{
- emsg(_("E674: printmbcharset cannot be empty with multi-byte encoding."));
+ emsg(_(e_printmbcharset_cannot_be_empty_with_multi_byte_encoding));
return FALSE;
}
vim_strncpy((char_u *)prt_cmap, p_pmcs, sizeof(prt_cmap) - 3);
if (!mbfont_opts[OPT_MBFONT_REGULAR].present)
{
- emsg(_("E675: No default font specified for multi-byte printing."));
+ emsg(_(e_no_default_font_specified_for_multi_byte_printing));
return FALSE;
}
{
#ifdef FEAT_MULTI_LANG
if (lang != NULL)
- semsg(_("E661: Sorry, no '%s' help for %s"), lang, arg);
+ semsg(_(e_sorry_no_str_help_for_str), lang, arg);
else
#endif
semsg(_(e_sorry_no_help_for_str), arg);
utf8 = this_utf8;
else if (utf8 != this_utf8)
{
- semsg(_("E670: Mix of help file encodings within a language: %s"), files[fi]);
+ semsg(_(e_mix_of_help_file_encodings_within_language_str), files[fi]);
mix = !got_int;
got_int = TRUE;
}
static int recursive = 0;
if (recursive >= 5)
- emsg(_("E679: recursive loop loading syncolor.vim"));
+ emsg(_(e_recursive_loop_loading_syncolor_vim));
else
{
++recursive;
{
if (!vim_isprintc(*p))
{
- emsg(_("E669: Unprintable character in group name"));
+ emsg(_(e_unprintable_character_in_group_name));
vim_free(name);
return 0;
}
#ifndef PY_CAN_RECURSE
if (recursive)
{
- emsg(_("E659: Cannot invoke Python recursively"));
+ emsg(_(e_cannot_invoke_python_recursively));
return;
}
++recursive;
semsg(_(e_no_white_space_allowed_before_str_str),
",", *arg);
else
- semsg(_("E696: Missing comma in List: %s"), *arg);
+ semsg(_(e_missing_comma_in_list_str), *arg);
}
goto failret;
}
|| info->item_compare_partial != NULL)
&& item_compare2((void *)&ptrs[0], (void *)&ptrs[1])
== ITEM_COMPARE_FAIL)
- emsg(_("E702: Sort compare function failed"));
+ emsg(_(e_sort_compare_function_failed));
else
{
// Sort the array with item pointers.
err = TRUE;
if (err)
{
- emsg(_("E677: Error writing temp file"));
+ emsg(_(e_error_writing_temp_file));
goto errret;
}
}
else if (cap->cmdchar == 'g')
{
if (curbuf->b_changelistlen == 0)
- emsg(_("E664: changelist is empty"));
+ emsg(_(e_changelist_is_empty));
else if (cap->count1 < 0)
- emsg(_("E662: At start of changelist"));
+ emsg(_(e_at_start_of_changelist));
else
- emsg(_("E663: At end of changelist"));
+ emsg(_(e_at_end_of_changelist));
}
else
clearopbeep(cap->oap);
p = skipwhite(p);
if (*p == NUL)
{
- emsg(_("E683: File name missing or invalid pattern"));
+ emsg(_(e_file_name_missing_or_invalid_pattern));
return FAIL;
}
if (buf->b_ml.ml_mfp == NULL)
{
- emsg(_("E681: Buffer is not loaded"));
+ emsg(_(e_buffer_is_not_loaded));
return FAIL;
}
if (*p != delim)
{
- semsg(_("E654: missing delimiter after search pattern: %s"), startp);
+ semsg(_(e_missing_delimiter_after_search_pattern_str), startp);
return NULL;
}
return p;
if (i < 0 || i > INT_MAX)
EMSG2_RET_NULL(
- _("E678: Invalid character after %s%%[dxouU]"),
- reg_magic == MAGIC_ALL);
+ _(e_invalid_character_after_str_2),
+ reg_magic == MAGIC_ALL);
if (use_multibytecode(i))
ret = regnode(MULTIBYTECODE);
else
}
if (nr < 0 || nr > INT_MAX)
- EMSG2_RET_FAIL(
- _("E678: Invalid character after %s%%[dxouU]"),
- reg_magic == MAGIC_ALL);
+ EMSG2_RET_FAIL(_(e_invalid_character_after_str_2),
+ reg_magic == MAGIC_ALL);
// A NUL is stored in the text as NL
// TODO: what if a composing character follows?
EMIT(nr == 0 ? 0x0a : nr);
#endif
case VAR_FUNC:
case VAR_PARTIAL:
- emsg(_("E703: Using a Funcref as a Number"));
+ emsg(_(e_using_funcref_as_number));
break;
case VAR_STRING:
if (in_vim9script())
emsg(_("E745: Using a List as a Number"));
break;
case VAR_DICT:
- emsg(_("E728: Using a Dictionary as a Number"));
+ emsg(_(e_using_dictionary_as_number));
break;
case VAR_BOOL:
case VAR_SPECIAL:
return buf;
case VAR_FUNC:
case VAR_PARTIAL:
- emsg(_("E729: Using a Funcref as a String"));
+ emsg(_(e_using_funcref_as_string));
break;
case VAR_LIST:
- emsg(_("E730: Using a List as a String"));
+ emsg(_(e_using_list_as_string));
break;
case VAR_DICT:
- emsg(_("E731: Using a Dictionary as a String"));
+ emsg(_(e_using_dictionary_as_string));
break;
case VAR_FLOAT:
#ifdef FEAT_FLOAT
|| (type != EXPR_EQUAL && type != EXPR_NEQUAL))
{
if (tv1->v_type != tv2->v_type)
- emsg(_("E691: Can only compare List with List"));
+ emsg(_(e_can_only_compare_list_with_list));
else
- emsg(_("E692: Invalid operation for List"));
+ emsg(_(e_invalid_operation_for_list));
return FAIL;
}
else
|| (type != EXPR_EQUAL && type != EXPR_NEQUAL))
{
if (tv1->v_type != tv2->v_type)
- emsg(_("E735: Can only compare Dictionary with Dictionary"));
+ emsg(_(e_can_only_compare_dictionary_with_dictionary));
else
- emsg(_("E736: Invalid operation for Dictionary"));
+ emsg(_(e_invalid_operation_for_dictionary));
return FAIL;
}
else
if (type != EXPR_EQUAL && type != EXPR_NEQUAL
&& type != EXPR_IS && type != EXPR_ISNOT)
{
- emsg(_("E694: Invalid operation for Funcrefs"));
+ emsg(_(e_invalid_operation_for_funcrefs));
return FAIL;
}
if ((tv1->v_type == VAR_PARTIAL && tv1->vval.v_partial == NULL)
// item in it is still being used.
static funccall_T *previous_funccal = NULL;
-static char *e_funcdict = N_("E717: Dictionary entry already exists");
-static char *e_funcref = N_("E718: Funcref required");
-
static void funccal_unref(funccall_T *fc, ufunc_T *fp, int force);
static void func_clear(ufunc_T *fp, int force);
static int func_free(ufunc_T *fp, int force);
else if (!aborting())
{
if (argcount == MAX_FUNC_ARGS)
- emsg_funcname(N_("E740: Too many arguments for function %s"), name);
+ emsg_funcname(e_too_many_arguments_for_function_str_2, name);
else
emsg_funcname(e_invalid_arguments_for_function_str, name);
}
{
if (argc == MAX_FUNC_ARGS - (partial == NULL ? 0 : partial->pt_argc))
{
- emsg(_("E699: Too many arguments"));
+ emsg(_(e_too_many_arguments));
break;
}
// Make a copy of each argument. This is needed to be able to set
emsg_funcname(e_function_was_deleted_str, name);
break;
case FCERR_TOOMANY:
- emsg_funcname((char *)e_too_many_arguments_for_function_str,
- name);
+ emsg_funcname(e_too_many_arguments_for_function_str, name);
break;
case FCERR_TOOFEW:
- emsg_funcname((char *)e_not_enough_arguments_for_function_str,
- name);
+ emsg_funcname(e_not_enough_arguments_for_function_str, name);
break;
case FCERR_SCRIPT:
emsg_funcname(
e_using_sid_not_in_script_context_str, name);
break;
case FCERR_DICT:
- emsg_funcname(
- N_("E725: Calling dict function without Dictionary: %s"),
- name);
+ emsg_funcname(e_calling_dict_function_without_dictionary_str,
+ name);
break;
}
}
{
if (!skip && !(flags & TFN_QUIET) && (fdp == NULL
|| lv.ll_dict == NULL || fdp->fd_newkey == NULL))
- emsg(_(e_funcref));
+ emsg(_(e_funcref_required));
else
*pp = end;
name = NULL;
: eval_isnamec(name_base[i])); ++i)
;
if (name_base[i] != NUL)
- emsg_funcname((char *)e_invalid_argument_str, arg);
+ emsg_funcname(e_invalid_argument_str, arg);
// In Vim9 script a function cannot have the same name as a
// variable.
p += 7;
if (current_funccal == NULL)
{
- emsg_funcname(N_("E932: Closure function should not be at top level: %s"),
+ emsg_funcname(e_closure_function_should_not_be_at_top_level,
name == NULL ? (char_u *)"" : name);
goto erret;
}
if (!eap->skip && !eap->forceit)
{
if (fudi.fd_dict != NULL && fudi.fd_newkey == NULL)
- emsg(_(e_funcdict));
+ emsg(_(e_dictionary_entry_already_exists));
else if (name != NULL && find_func(name, is_global, NULL) != NULL)
emsg_funcname(e_function_str_already_exists_add_bang_to_replace, name);
}
v = find_var(name, &ht, TRUE);
if (v != NULL && v->di_tv.v_type == VAR_FUNC)
{
- emsg_funcname(N_("E707: Function name conflicts with variable: %s"),
- name);
+ emsg_funcname(e_function_name_conflicts_with_variable_str, name);
goto erret;
}
fp = NULL;
if (fudi.fd_newkey == NULL && !eap->forceit)
{
- emsg(_(e_funcdict));
+ emsg(_(e_dictionary_entry_already_exists));
goto erret;
}
if (fudi.fd_di == NULL)
if (name == NULL)
{
if (fudi.fd_dict != NULL && !eap->skip)
- emsg(_(e_funcref));
+ emsg(_(e_funcref_required));
return;
}
if (!ends_excmd(*skipwhite(p)))
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 4005,
/**/
4004,
/**/