Patch 8.2.3967
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
Files:      src/errors.h, src/globals.h, src/feature.h, src/arglist.c,
            src/autocmd.c, src/blob.c, src/bufwrite.c, src/channel.c,
            src/cmdexpand.c, src/dict.c, src/diff.c, src/eval.c,
            src/evalfunc.c, src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c,
            src/fileio.c, src/filepath.c, src/getchar.c, src/gui_gtk_x11.c,
            src/gui_x11.c, src/hardcopy.c, src/help.c, src/highlight.c,
            src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs,
            src/if_python.c, src/if_python3.c, src/if_ruby.c, src/if_tcl.c,
            src/if_xcmdsrv.c, src/indent.c, src/insexpand.c, src/job.c,
            src/list.c, src/main.c, src/map.c, src/match.c, src/mbyte.c,
            src/message.c, src/misc1.c, src/option.c, src/optionstr.c,
            src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/popupwin.c,
            src/profiler.c, src/quickfix.c, src/scriptfile.c, src/search.c,
            src/session.c, src/sign.c, src/spell.c, src/spellfile.c,
            src/spellsuggest.c, src/syntax.c, src/tag.c, src/terminal.c,
            src/testing.c, src/textprop.c, src/typval.c, src/userfunc.c,
            src/vim9execute.c, src/vim9expr.c, src/vim9instr.c,
            src/vim9script.c


*** ../vim-8.2.3966/src/errors.h        2022-01-01 00:55:24.357180922 +0000
--- src/errors.h        2022-01-01 14:17:06.188729109 +0000
***************
*** 329,335 ****
        INIT(= N_("E149: Sorry, no help for %s"));
  EXTERN char e_not_a_directory_str[]
        INIT(= N_("E150: Not a directory: %s"));
! EXTERN char e_no_match_str[]
        INIT(= N_("E151: No match: %s"));
  EXTERN char e_cannot_open_str_for_writing_1[]
        INIT(= N_("E152: Cannot open %s for writing"));
--- 329,335 ----
        INIT(= N_("E149: Sorry, no help for %s"));
  EXTERN char e_not_a_directory_str[]
        INIT(= N_("E150: Not a directory: %s"));
! EXTERN char e_no_match_str_1[]
        INIT(= N_("E151: No match: %s"));
  EXTERN char e_cannot_open_str_for_writing_1[]
        INIT(= N_("E152: Cannot open %s for writing"));
***************
*** 497,502 ****
--- 497,506 ----
  EXTERN char e_cannot_start_the_GUI[]
        INIT(= N_("E229: Cannot start the GUI"));
  
+ #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
+ EXTERN char e_cannot_open_display[]
+       INIT(= N_("E233: cannot open display"));
+ #endif
  #if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
  EXTERN char e_unknown_fontset_str[]
        INIT(= N_("E234: Unknown fontset: %s"));
***************
*** 510,515 ****
--- 514,523 ----
  EXTERN char e_font_str_is_not_fixed_width[]
        INIT(= N_("E236: Font \"%s\" is not fixed-width"));
  #endif
+ #ifdef FEAT_CLIENTSERVER
+ EXTERN char e_no_registered_server_named_str[]
+       INIT(= N_("E247: no registered server named \"%s\""));
+ #endif
  EXTERN char e_window_layout_changed_unexpectedly[]
        INIT(= N_("E249: window layout changed unexpectedly"));
  #if defined(FEAT_GUI) || defined(FEAT_TERMGUICOLORS)
***************
*** 521,531 ****
--- 529,559 ----
        INIT(= N_("E341: Internal error: lalloc(0, )"));
  EXTERN char e_out_of_memory_allocating_nr_bytes[]
        INIT(= N_("E342: Out of memory!  (allocating %lu bytes)"));
+ #ifdef FEAT_LIBCALL
+ EXTERN char e_library_call_failed_for_str[]
+       INIT(= N_("E364: Library call failed for \"%s()\""));
+ #endif
  EXTERN char e_no_such_group_str[]
        INIT(= N_("E367: No such group: \"%s\""));
+ #ifdef USING_LOAD_LIBRARY
+ EXTERN char e_could_not_load_library_str_str[]
+       INIT(= N_("E370: Could not load library %s: %s"));
+ #endif
  EXTERN char e_cannot_write_buftype_option_is_set[]
        INIT(= N_("E382: Cannot write, 'buftype' option is set"));
  
+ #ifdef USING_LOAD_LIBRARY
+ EXTERN char e_could_not_load_library_function_str[]
+       INIT(= N_("E448: Could not load library function %s"));
+ #endif
+ #if defined(UNIX) || defined(FEAT_SESSION)
+ EXTERN char e_cannot_go_back_to_previous_directory[]
+       INIT(= N_("E459: Cannot go back to previous directory"));
+ #endif
+ #ifdef FEAT_EVAL
+ EXTERN char e_illegal_variable_name_str[]
+       INIT(= N_("E461: Illegal variable name: %s"));
+ #endif
  EXTERN char e_ambiguous_use_of_user_defined_command[]
        INIT(= N_("E464: Ambiguous use of user-defined command"));
  EXTERN char e_command_aborted[]
***************
*** 546,555 ****
--- 574,605 ----
        INIT(= N_("E475: Invalid value for argument %s: %s"));
  EXTERN char e_invalid_command[]
        INIT(= N_("E476: Invalid command"));
+ EXTERN char e_no_bang_allowed[]
+       INIT(= N_("E477: No ! allowed"));
  #ifdef FEAT_EVAL
  EXTERN char e_invalid_command_str[]
        INIT(= N_("E476: Invalid command: %s"));
  #endif
+ EXTERN char e_cant_create_file_str[]
+       INIT(= N_("E482: Can't create file %s"));
+ EXTERN char e_cant_get_temp_file_name[]
+       INIT(= N_("E483: Can't get temp file name"));
+ EXTERN char e_cant_open_file_str[]
+       INIT(= N_("E484: Can't open file %s"));
+ EXTERN char e_cant_read_file_str[]
+       INIT(= N_("E485: Can't read file %s"));
+ EXTERN char e_pattern_not_found[]
+       INIT(= N_("E486: Pattern not found"));
+ EXTERN char e_pattern_not_found_str[]
+       INIT(= N_("E486: Pattern not found: %s"));
+ EXTERN char e_argument_must_be_positive[]
+       INIT(= N_("E487: Argument must be positive"));
+ EXTERN char e_no_match[]
+       INIT(= N_("E479: No match"));
+ EXTERN char e_no_match_str_2[]
+       INIT(= N_("E480: No match: %s"));
+ EXTERN char e_no_range_allowed[]
+       INIT(= N_("E481: No range allowed"));
  
        // E502
  EXTERN char e_is_a_directory[]
***************
*** 615,634 ****
--- 665,708 ----
  EXTERN char e_partial_writes_disallowed_for_netbeans_buffers[]
        INIT(= N_("Partial writes disallowed for NetBeans buffers"));
  #endif
+ #ifdef HAVE_FSYNC
+ EXTERN char e_fsync_failed[]
+       INIT(= N_("E667: Fsync failed"));
+ #endif
  EXTERN char e_no_matching_autocommands_for_acwrite_buffer[]
        INIT(= N_("E676: No matching autocommands for acwrite buffer"));
  EXTERN char e_buffer_nr_invalid_buffer_number[]
        INIT(= N_("E680: <buffer=%d>: invalid buffer number"));
  #ifdef FEAT_EVAL
+ EXTERN char e_list_index_out_of_range_nr[]
+       INIT(= N_("E684: list index out of range: %ld"));
+ #endif
+ EXTERN char e_internal_error_str[]
+       INIT(= N_("E685: Internal error: %s"));
+ #ifdef FEAT_EVAL
  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"));
  
  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_("E711: List value does not have enough items"));
+ EXTERN char e_argument_of_str_must_be_list_or_dictionary[]
+       INIT(= N_("E712: Argument of %s must be a List or Dictionary"));
+ EXTERN char e_cannot_use_empty_key_for_dictionary[]
+       INIT(= N_("E713: Cannot use empty key for Dictionary"));
+ EXTERN char e_list_required[]
+       INIT(= N_("E714: List required"));
+ EXTERN char e_dictionary_required[]
+       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_cannot_slice_dictionary[]
        INIT(= N_("E719: Cannot slice a Dictionary"));
+ EXTERN char e_wrong_variable_type_for_str_equal[]
+       INIT(= N_("E734: Wrong variable type for %s="));
  EXTERN char e_value_is_locked[]
        INIT(= N_("E741: Value is locked"));
  EXTERN char e_value_is_locked_str[]
***************
*** 637,642 ****
--- 711,726 ----
        INIT(= N_("E742: Cannot change value"));
  EXTERN char e_cannot_change_value_of_str[]
        INIT(= N_("E742: Cannot change value of %s"));
+ #endif
+ #ifdef FEAT_SPELL
+ EXTERN char e_spell_checking_is_not_possible[]
+       INIT(= N_("E756: Spell checking is not possible"));
+ #endif
+ #ifdef FEAT_QUICKFIX
+ EXTERN char e_no_location_list[]
+       INIT(= N_("E776: No location list"));
+ #endif
+ #ifdef FEAT_EVAL
  EXTERN char e_cannot_set_variable_in_sandbox[]
        INIT(= N_("E794: Cannot set variable in the sandbox"));
  EXTERN char e_cannot_set_variable_in_sandbox_str[]
***************
*** 650,655 ****
--- 734,747 ----
        INIT(= N_("E795: Cannot delete variable %s"));
  #endif
  
+ #ifndef FEAT_ARABIC
+ EXTERN char e_arabic_cannot_be_used_not_enabled_at_compile_time[]
+       INIT(= N_("E800: Arabic cannot be used: Not enabled at compile 
time\n"));
+ #endif
+ #ifdef FEAT_EVAL
+ EXTERN char e_cannot_use_percent_with_float[]
+       INIT(= N_("E804: Cannot use '%' with Float"));
+ #endif
  EXTERN char e_blowfish_big_little_endian_use_wrong[]
        INIT(= N_("E817: Blowfish big/little endian use wrong"));
  EXTERN char e_sha256_test_failed[]
***************
*** 664,682 ****
--- 756,795 ----
        INIT(= N_("E834: Conflicts with value of 'listchars'"));
  EXTERN char e_conflicts_with_value_of_fillchars[]
        INIT(= N_("E835: Conflicts with value of 'fillchars'"));
+ // E839 unused
  EXTERN char e_autocommands_caused_command_to_abort[]
        INIT(= N_("E855: Autocommands caused command to abort"));
  #ifdef FEAT_EVAL
  EXTERN char e_assert_fails_second_arg[]
        INIT(= N_("E856: \"assert_fails()\" second argument must be a string or 
a list with one or two strings"));
+ EXTERN char e_dictionary_key_str_required[]
+       INIT(= N_("E857: Dictionary key \"%s\" required"));
+ #endif
+ #ifdef FEAT_PROP_POPUP
+ EXTERN char e_number_required[]
+       INIT(= N_("E889: Number required"));
+ #endif
+ #ifdef FEAT_EVAL
+ EXTERN char e_argument_of_str_must_be_list_dictionary_or_blob[]
+       INIT(= N_("E896: Argument of %s must be a List, Dictionary or Blob"));
+ EXTERN char e_list_or_blob_required[]
+       INIT(= N_("E897: List or Blob required"));
+ #endif
  
+ #ifdef FEAT_EVAL
  EXTERN char e_using_invalid_value_as_string_str[]
        INIT(= N_("E908: using an invalid value as a String: %s"));
  EXTERN char e_cannot_index_special_variable[]
        INIT(= N_("E909: Cannot index a special variable"));
+ EXTERN char e_string_required[]
+       INIT(= N_("E928: String required"));
  #endif
  EXTERN char e_buffer_cannot_be_registered[]
        INIT(= N_("E931: Buffer cannot be registered"));
+ #ifdef FEAT_EVAL
+ EXTERN char e_function_was_deleted_str[]
+       INIT(= N_("E933: Function was deleted: %s"));
+ #endif
  EXTERN char e_cannot_delete_current_group[]
        INIT(= N_("E936: Cannot delete the current group"));
  EXTERN char e_attempt_to_delete_buffer_that_is_in_use_str[]
***************
*** 695,700 ****
--- 808,829 ----
        INIT(= N_("E966: Invalid line number: %ld"));
  EXTERN char e_blob_value_does_not_have_right_number_of_bytes[]
        INIT(= N_("E972: Blob value does not have the right number of bytes"));
+ #ifdef FEAT_EVAL
+ EXTERN char e_invalid_operation_for_blob[]
+       INIT(= N_("E978: Invalid operation for Blob"));
+ EXTERN char e_blob_index_out_of_range_nr[]
+       INIT(= N_("E979: Blob index out of range: %ld"));
+ #endif
+ EXTERN char e_duplicate_argument_str[]
+       INIT(= N_("E983: Duplicate argument: %s"));
+ #ifdef FEAT_EVAL
+ EXTERN char e_cannot_modify_existing_variable[]
+       INIT(= N_("E995: Cannot modify existing variable"));
+ EXTERN char e_cannot_lock_an_option[]
+       INIT(= N_("E996: Cannot lock an option"));
+ EXTERN char e_reduce_of_an_empty_str_with_no_initial_value[]
+       INIT(= N_("E998: Reduce of an empty %s with no initial value"));
+ #endif
  
  EXTERN char e_command_not_supported_in_vim9_script_missing_var_str[]
        INIT(= N_("E1100: Command not supported in Vim9 script (missing :var?): 
%s"));
*** ../vim-8.2.3966/src/globals.h       2021-12-31 22:48:56.571368910 +0000
--- src/globals.h       2022-01-01 14:04:34.462918708 +0000
***************
*** 1603,1682 ****
   * Some error messages that can be shared are included here.
   * They should be moved to errors.h.
   */
- EXTERN char e_intern2[]               INIT(= N_("E685: Internal error: %s"));
- EXTERN char e_duparg2[]               INIT(= N_("E983: Duplicate argument: 
%s"));
- #ifdef FEAT_SPELL
- EXTERN char e_no_spell[]      INIT(= N_("E756: Spell checking is not 
possible"));
- #endif
- #ifdef FEAT_LIBCALL
- EXTERN char e_libcall[]       INIT(= N_("E364: Library call failed for 
\"%s()\""));
- #endif
- #ifdef HAVE_FSYNC
- EXTERN char e_fsync[]         INIT(= N_("E667: Fsync failed"));
- #endif
- #if defined(DYNAMIC_PERL) \
-       || defined(DYNAMIC_PYTHON) || defined(DYNAMIC_PYTHON3) \
-       || defined(DYNAMIC_RUBY) \
-       || defined(DYNAMIC_TCL) \
-       || defined(DYNAMIC_ICONV) \
-       || defined(DYNAMIC_GETTEXT) \
-       || defined(DYNAMIC_MZSCHEME) \
-       || defined(DYNAMIC_LUA) \
-       || defined(FEAT_TERMINAL)
- EXTERN char e_loadlib[]       INIT(= N_("E370: Could not load library %s: 
%s"));
- EXTERN char e_loadfunc[]      INIT(= N_("E448: Could not load library 
function %s"));
- #endif
- EXTERN char e_nobang[]        INIT(= N_("E477: No ! allowed"));
- #ifndef FEAT_ARABIC
- EXTERN char e_noarabic[]      INIT(= N_("E800: Arabic cannot be used: Not 
enabled at compile time\n"));
- #endif
- EXTERN char e_nomatch[]       INIT(= N_("E479: No match"));
- EXTERN char e_nomatch2[]      INIT(= N_("E480: No match: %s"));
- EXTERN char e_norange[]       INIT(= N_("E481: No range allowed"));
- #ifdef FEAT_CLIENTSERVER
- EXTERN char e_noserver[]      INIT(= N_("E247: no registered server named 
\"%s\""));
- #endif
- EXTERN char e_notcreate[]     INIT(= N_("E482: Can't create file %s"));
- 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"));
- #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11)
- EXTERN char e_opendisp[]      INIT(= N_("E233: cannot open display"));
- #endif
- 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"));
- #if defined(UNIX) || defined(FEAT_SESSION)
- EXTERN char e_prev_dir[]      INIT(= N_("E459: Cannot go back to previous 
directory"));
- #endif
- 
- #ifdef FEAT_QUICKFIX
- EXTERN char e_loclist[]               INIT(= N_("E776: No location list"));
- #endif
- #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"));
- EXTERN char e_cannot_mod[]    INIT(= N_("E995: Cannot modify existing 
variable"));
- EXTERN char e_stringreq[]     INIT(= N_("E928: String required"));
- EXTERN char e_numberreq[]     INIT(= N_("E889: Number required"));
- EXTERN char e_boolreq[]               INIT(= N_("E839: Bool required"));
- EXTERN char e_emptykey[]      INIT(= N_("E713: Cannot use empty key for 
Dictionary"));
- EXTERN char e_dictreq[]               INIT(= N_("E715: Dictionary required"));
- EXTERN char e_listidx[]               INIT(= N_("E684: list index out of 
range: %ld"));
- EXTERN char e_blobidx[]               INIT(= N_("E979: Blob index out of 
range: %ld"));
- EXTERN char e_invalblob[]     INIT(= N_("E978: Invalid operation for Blob"));
- EXTERN char e_func_deleted[]  INIT(= N_("E933: Function was deleted: %s"));
- EXTERN char e_dictkey[]               INIT(= N_("E716: Key not present in 
Dictionary: \"%s\""));
- EXTERN char e_listreq[]               INIT(= N_("E714: List required"));
- EXTERN char e_listblobreq[]   INIT(= N_("E897: List or Blob required"));
- EXTERN char e_list_end[]      INIT(= N_("E697: Missing end of List ']': %s"));
- EXTERN char e_listdictarg[]   INIT(= N_("E712: Argument of %s must be a List 
or Dictionary"));
- EXTERN char e_listdictblobarg[]       INIT(= N_("E896: Argument of %s must be 
a List, Dictionary or Blob"));
- EXTERN char e_modulus[]               INIT(= N_("E804: Cannot use '%' with 
Float"));
- EXTERN char e_const_option[]  INIT(= N_("E996: Cannot lock an option"));
- EXTERN char e_reduceempty[]   INIT(= N_("E998: Reduce of an empty %s with no 
initial value"));
- EXTERN char e_no_dict_key[]   INIT(= N_("E857: Dictionary key \"%s\" 
required"));
- #endif
  EXTERN char e_secure[]                INIT(= N_("E523: Not allowed here"));
  EXTERN char e_textlock[]      INIT(= N_("E578: Not allowed to change text 
here"));
  EXTERN char e_textwinlock[]   INIT(= N_("E565: Not allowed to change text or 
change window"));
--- 1603,1608 ----
*** ../vim-8.2.3966/src/feature.h       2021-12-13 14:40:50.026907587 +0000
--- src/feature.h       2022-01-01 12:53:25.644874831 +0000
***************
*** 1258,1260 ****
--- 1258,1272 ----
  #if (!defined(FEAT_GUI) || defined(VIMDLL)) && defined(MSWIN)
  # define FEAT_VTP
  #endif
+ 
+ #if defined(DYNAMIC_PERL) \
+       || defined(DYNAMIC_PYTHON) || defined(DYNAMIC_PYTHON3) \
+       || defined(DYNAMIC_RUBY) \
+       || defined(DYNAMIC_TCL) \
+       || defined(DYNAMIC_ICONV) \
+       || defined(DYNAMIC_GETTEXT) \
+       || defined(DYNAMIC_MZSCHEME) \
+       || defined(DYNAMIC_LUA) \
+       || defined(FEAT_TERMINAL)
+ # define USING_LOAD_LIBRARY
+ #endif
*** ../vim-8.2.3966/src/arglist.c       2021-12-31 22:48:56.571368910 +0000
--- src/arglist.c       2022-01-01 14:15:28.900973588 +0000
***************
*** 460,466 ****
            vim_regfree(regmatch.regprog);
            vim_free(p);
            if (!didone)
!               semsg(_(e_nomatch2), ((char_u **)new_ga.ga_data)[i]);
        }
        ga_clear(&new_ga);
      }
--- 460,466 ----
            vim_regfree(regmatch.regprog);
            vim_free(p);
            if (!didone)
!               semsg(_(e_no_match_str_2), ((char_u **)new_ga.ga_data)[i]);
        }
        ga_clear(&new_ga);
      }
***************
*** 471,477 ****
        ga_clear(&new_ga);
        if (i == FAIL || exp_count == 0)
        {
!           emsg(_(e_nomatch));
            return FAIL;
        }
  
--- 471,477 ----
        ga_clear(&new_ga);
        if (i == FAIL || exp_count == 0)
        {
!           emsg(_(e_no_match));
            return FAIL;
        }
  
*** ../vim-8.2.3966/src/autocmd.c       2021-12-31 22:48:56.571368910 +0000
--- src/autocmd.c       2022-01-01 12:47:34.541542929 +0000
***************
*** 911,917 ****
                if (STRNCMP(cmd, "++once", 6) == 0 && VIM_ISWHITE(cmd[6]))
                {
                    if (once)
!                       semsg(_(e_duparg2), "++once");
                    once = TRUE;
                    cmd = skipwhite(cmd + 6);
                }
--- 911,917 ----
                if (STRNCMP(cmd, "++once", 6) == 0 && VIM_ISWHITE(cmd[6]))
                {
                    if (once)
!                       semsg(_(e_duplicate_argument_str), "++once");
                    once = TRUE;
                    cmd = skipwhite(cmd + 6);
                }
***************
*** 920,926 ****
                if ((STRNCMP(cmd, "++nested", 8) == 0 && VIM_ISWHITE(cmd[8])))
                {
                    if (nested)
!                       semsg(_(e_duparg2), "++nested");
                    nested = TRUE;
                    cmd = skipwhite(cmd + 8);
                }
--- 920,926 ----
                if ((STRNCMP(cmd, "++nested", 8) == 0 && VIM_ISWHITE(cmd[8])))
                {
                    if (nested)
!                       semsg(_(e_duplicate_argument_str), "++nested");
                    nested = TRUE;
                    cmd = skipwhite(cmd + 8);
                }
***************
*** 929,935 ****
                if (STRNCMP(cmd, "nested", 6) == 0 && VIM_ISWHITE(cmd[6]))
                {
                    if (nested)
!                       semsg(_(e_duparg2), "nested");
                    nested = TRUE;
                    cmd = skipwhite(cmd + 6);
                }
--- 929,935 ----
                if (STRNCMP(cmd, "nested", 6) == 0 && VIM_ISWHITE(cmd[6]))
                {
                    if (nested)
!                       semsg(_(e_duplicate_argument_str), "nested");
                    nested = TRUE;
                    cmd = skipwhite(cmd + 6);
                }
*** ../vim-8.2.3966/src/blob.c  2021-12-31 22:48:56.571368910 +0000
--- src/blob.c  2022-01-01 14:06:09.894723040 +0000
***************
*** 350,356 ****
        }
        else
        {
!           semsg(_(e_blobidx), n1);
            return FAIL;
        }
      }
--- 350,356 ----
        }
        else
        {
!           semsg(_(e_blob_index_out_of_range_nr), n1);
            return FAIL;
        }
      }
***************
*** 366,372 ****
      if (n1 < 0 || n1 > bloblen)
      {
        if (!quiet)
!           semsg(_(e_blobidx), n1);
        return FAIL;
      }
      return OK;
--- 366,372 ----
      if (n1 < 0 || n1 > bloblen)
      {
        if (!quiet)
!           semsg(_(e_blob_index_out_of_range_nr), n1);
        return FAIL;
      }
      return OK;
***************
*** 381,387 ****
      if (n2 < 0 || n2 >= bloblen || n2 < n1)
      {
        if (!quiet)
!           semsg(_(e_blobidx), n2);
        return FAIL;
      }
      return OK;
--- 381,387 ----
      if (n2 < 0 || n2 >= bloblen || n2 < n1)
      {
        if (!quiet)
!           semsg(_(e_blob_index_out_of_range_nr), n2);
        return FAIL;
      }
      return OK;
***************
*** 465,471 ****
        idx = len + idx;
      if (idx < 0 || idx >= len)
      {
!       semsg(_(e_blobidx), idx);
        return;
      }
      if (argvars[2].v_type == VAR_UNKNOWN)
--- 465,471 ----
        idx = len + idx;
      if (idx < 0 || idx >= len)
      {
!       semsg(_(e_blob_index_out_of_range_nr), idx);
        return;
      }
      if (argvars[2].v_type == VAR_UNKNOWN)
***************
*** 487,493 ****
        end = len + end;
      if (end >= len || idx > end)
      {
!       semsg(_(e_blobidx), end);
        return;
      }
      newblob = blob_alloc();
--- 487,493 ----
        end = len + end;
      if (end >= len || idx > end)
      {
!       semsg(_(e_blob_index_out_of_range_nr), end);
        return;
      }
      newblob = blob_alloc();
***************
*** 563,569 ****
        if (newtv.v_type != VAR_NUMBER && newtv.v_type != VAR_BOOL)
        {
            clear_tv(&newtv);
!           emsg(_(e_invalblob));
            break;
        }
        if (filtermap != FILTERMAP_FILTER)
--- 563,569 ----
        if (newtv.v_type != VAR_NUMBER && newtv.v_type != VAR_BOOL)
        {
            clear_tv(&newtv);
!           emsg(_(e_invalid_operation_for_blob));
            break;
        }
        if (filtermap != FILTERMAP_FILTER)
***************
*** 660,666 ****
      {
        if (b == NULL || b->bv_ga.ga_len == 0)
        {
!           semsg(_(e_reduceempty), "Blob");
            return;
        }
        initial.v_type = VAR_NUMBER;
--- 660,666 ----
      {
        if (b == NULL || b->bv_ga.ga_len == 0)
        {
!           semsg(_(e_reduce_of_an_empty_str_with_no_initial_value), "Blob");
            return;
        }
        initial.v_type = VAR_NUMBER;
*** ../vim-8.2.3966/src/bufwrite.c      2021-12-31 22:48:56.571368910 +0000
--- src/bufwrite.c      2022-01-01 12:51:20.373116239 +0000
***************
*** 2178,2184 ****
        // If the 'fsync' option is FALSE, don't fsync().  Useful for laptops.
        if (p_fs && vim_fsync(fd) != 0 && !device)
        {
!           errmsg = (char_u *)_(e_fsync);
            end = 0;
        }
  #endif
--- 2178,2184 ----
        // If the 'fsync' option is FALSE, don't fsync().  Useful for laptops.
        if (p_fs && vim_fsync(fd) != 0 && !device)
        {
!           errmsg = (char_u *)_(e_fsync_failed);
            end = 0;
        }
  #endif
*** ../vim-8.2.3966/src/channel.c       2021-12-31 22:48:56.571368910 +0000
--- src/channel.c       2022-01-01 13:07:35.620277301 +0000
***************
*** 161,167 ****
        file = fopen((char *)fname, *opt == 'w' ? "w" : "a");
        if (file == NULL)
        {
!           semsg(_(e_notopen), fname);
            return;
        }
        vim_free(log_name);
--- 161,167 ----
        file = fopen((char *)fname, *opt == 'w' ? "w" : "a");
        if (file == NULL)
        {
!           semsg(_(e_cant_open_file_str), fname);
            return;
        }
        vim_free(log_name);
*** ../vim-8.2.3966/src/cmdexpand.c     2021-12-31 22:48:56.575368905 +0000
--- src/cmdexpand.c     2022-01-01 14:15:51.224916447 +0000
***************
*** 366,378 ****
            // are wildcards, the real problem is that there was no match,
            // causing the pattern to be added, which has illegal characters.
            if (!(options & WILD_SILENT) && (options & WILD_LIST_NOTFOUND))
!               semsg(_(e_nomatch2), str);
  #endif
        }
        else if (xp->xp_numfiles == 0)
        {
            if (!(options & WILD_SILENT))
!               semsg(_(e_nomatch2), str);
        }
        else
        {
--- 366,378 ----
            // are wildcards, the real problem is that there was no match,
            // causing the pattern to be added, which has illegal characters.
            if (!(options & WILD_SILENT) && (options & WILD_LIST_NOTFOUND))
!               semsg(_(e_no_match_str_2), str);
  #endif
        }
        else if (xp->xp_numfiles == 0)
        {
            if (!(options & WILD_SILENT))
!               semsg(_(e_no_match_str_2), str);
        }
        else
        {
*** ../vim-8.2.3966/src/dict.c  2021-12-31 22:48:56.575368905 +0000
--- src/dict.c  2022-01-01 13:33:48.590099870 +0000
***************
*** 1414,1420 ****
      di = dict_find(d, key, -1);
      if (di == NULL)
      {
!       semsg(_(e_dictkey), key);
        return;
      }
  
--- 1414,1420 ----
      di = dict_find(d, key, -1);
      if (di == NULL)
      {
!       semsg(_(e_key_not_present_in_dictionary), key);
        return;
      }
  
***************
*** 1449,1455 ****
  
      if (argvars[0].v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return;
      }
  
--- 1449,1455 ----
  
      if (argvars[0].v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
  
***************
*** 1572,1578 ****
  
      if (argvars[0].v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return;
      }
      if (argvars[0].vval.v_dict == NULL)
--- 1572,1578 ----
  
      if (argvars[0].v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
      if (argvars[0].vval.v_dict == NULL)
*** ../vim-8.2.3966/src/diff.c  2021-12-30 10:51:41.168860630 +0000
--- src/diff.c  2022-01-01 13:17:20.335613140 +0000
***************
*** 1319,1325 ****
      if (dirbuf[0] != NUL)
      {
        if (mch_chdir((char *)dirbuf) != 0)
!           emsg(_(e_prev_dir));
        shorten_fnames(TRUE);
      }
  #endif
--- 1319,1325 ----
      if (dirbuf[0] != NUL)
      {
        if (mch_chdir((char *)dirbuf) != 0)
!           emsg(_(e_cannot_go_back_to_previous_directory));
        shorten_fnames(TRUE);
      }
  #endif
*** ../vim-8.2.3966/src/eval.c  2021-12-31 22:48:56.575368905 +0000
--- src/eval.c  2022-01-01 14:05:11.914857350 +0000
***************
*** 997,1003 ****
            if (len == 0)
            {
                if (!quiet)
!                   emsg(_(e_emptykey));
                return NULL;
            }
            p = key + len;
--- 997,1003 ----
            if (len == 0)
            {
                if (!quiet)
!                   emsg(_(e_cannot_use_empty_key_for_dictionary));
                return NULL;
            }
            p = key + len;
***************
*** 1148,1154 ****
                if (lp->ll_dict == get_vimvar_dict()
                         || &lp->ll_dict->dv_hashtab == get_funccal_args_ht())
                {
!                   semsg(_(e_illvar), name);
                    clear_tv(&var1);
                    return NULL;
                }
--- 1148,1154 ----
                if (lp->ll_dict == get_vimvar_dict()
                         || &lp->ll_dict->dv_hashtab == get_funccal_args_ht())
                {
!                   semsg(_(e_illegal_variable_name_str), name);
                    clear_tv(&var1);
                    return NULL;
                }
***************
*** 1157,1163 ****
                if (*p == '[' || *p == '.' || unlet)
                {
                    if (!quiet)
!                       semsg(_(e_dictkey), key);
                    clear_tv(&var1);
                    return NULL;
                }
--- 1157,1163 ----
                if (*p == '[' || *p == '.' || unlet)
                {
                    if (!quiet)
!                       semsg(_(e_key_not_present_in_dictionary), key);
                    clear_tv(&var1);
                    return NULL;
                }
***************
*** 1306,1312 ****
  
            if (op != NULL && *op != '=')
            {
!               semsg(_(e_letwrong), op);
                return;
            }
            if (value_check_lock(lp->ll_blob->bv_lock, lp->ll_name, FALSE))
--- 1306,1312 ----
  
            if (op != NULL && *op != '=')
            {
!               semsg(_(e_wrong_variable_type_for_str_equal), op);
                return;
            }
            if (value_check_lock(lp->ll_blob->bv_lock, lp->ll_name, FALSE))
***************
*** 1335,1341 ****
            if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
                                             && (flags & ASSIGN_FOR_LOOP) == 0)
            {
!               emsg(_(e_cannot_mod));
                *endp = cc;
                return;
            }
--- 1335,1341 ----
            if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
                                             && (flags & ASSIGN_FOR_LOOP) == 0)
            {
!               emsg(_(e_cannot_modify_existing_variable));
                *endp = cc;
                return;
            }
***************
*** 1401,1407 ****
        {
            if (op != NULL && *op != '=')
            {
!               semsg(_(e_dictkey), lp->ll_newkey);
                return;
            }
            if (dict_wrong_func_name(lp->ll_tv->vval.v_dict, rettv,
--- 1401,1407 ----
        {
            if (op != NULL && *op != '=')
            {
!               semsg(_(e_key_not_present_in_dictionary), lp->ll_newkey);
                return;
            }
            if (dict_wrong_func_name(lp->ll_tv->vval.v_dict, rettv,
***************
*** 1590,1596 ****
        }
      }
  
!     semsg(_(e_letwrong), op);
      return FAIL;
  }
  
--- 1590,1596 ----
        }
      }
  
!     semsg(_(e_wrong_variable_type_for_str_equal), op);
      return FAIL;
  }
  
***************
*** 3248,3254 ****
                }
                else
                {
!                   emsg(_(e_modulus));
                    return FAIL;
                }
                rettv->v_type = VAR_FLOAT;
--- 3248,3254 ----
                }
                else
                {
!                   emsg(_(e_cannot_use_percent_with_float));
                    return FAIL;
                }
                rettv->v_type = VAR_FLOAT;
***************
*** 4325,4331 ****
                    {
                        if (keylen > 0)
                            key[keylen] = NUL;
!                       semsg(_(e_dictkey), key);
                    }
                    return FAIL;
                }
--- 4325,4331 ----
                    {
                        if (keylen > 0)
                            key[keylen] = NUL;
!                       semsg(_(e_key_not_present_in_dictionary), key);
                    }
                    return FAIL;
                }
*** ../vim-8.2.3966/src/evalfunc.c      2022-01-01 12:16:56.440066967 +0000
--- src/evalfunc.c      2022-01-01 14:00:07.875356502 +0000
***************
*** 2935,2941 ****
  
      if (argvars[1].v_type != VAR_LIST)
      {
!       emsg(_(e_listreq));
        return;
      }
      if (argvars[1].vval.v_list == NULL)
--- 2935,2941 ----
  
      if (argvars[1].v_type != VAR_LIST)
      {
!       emsg(_(e_list_required));
        return;
      }
      if (argvars[1].vval.v_list == NULL)
***************
*** 2957,2963 ****
      {
        if (argvars[2].v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return;
        }
        selfdict = argvars[2].vval.v_dict;
--- 2957,2963 ----
      {
        if (argvars[2].v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
        selfdict = argvars[2].vval.v_dict;
***************
*** 4411,4417 ****
        }
      }
      else
!       semsg(_(e_listdictblobarg), "get()");
  
      if (tv == NULL)
      {
--- 4411,4417 ----
        }
      }
      else
!       semsg(_(e_argument_of_str_must_be_list_dictionary_or_blob), "get()");
  
      if (tv == NULL)
      {
***************
*** 6458,6464 ****
      }
      else if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_listblobreq));
        return;
      }
  
--- 6458,6464 ----
      }
      else if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_list_or_blob_required));
        return;
      }
  
***************
*** 6718,6724 ****
            else if (lv.ll_range)
                emsg(_("E786: Range not allowed"));
            else if (lv.ll_newkey != NULL)
!               semsg(_(e_dictkey), lv.ll_newkey);
            else if (lv.ll_list != NULL)
                // List item.
                rettv->vval.v_number = tv_islocked(&lv.ll_li->li_tv);
--- 6718,6724 ----
            else if (lv.ll_range)
                emsg(_("E786: Range not allowed"));
            else if (lv.ll_newkey != NULL)
!               semsg(_(e_key_not_present_in_dictionary), lv.ll_newkey);
            else if (lv.ll_list != NULL)
                // List item.
                rettv->vval.v_number = tv_islocked(&lv.ll_li->li_tv);
***************
*** 7311,7317 ****
        }
      }
      else
!       semsg(_(e_listdictarg), domax ? "max()" : "min()");
  
      rettv->vval.v_number = n;
  }
--- 7311,7317 ----
        }
      }
      else
!       semsg(_(e_argument_of_str_must_be_list_or_dictionary), domax ? "max()" 
: "min()");
  
      rettv->vval.v_number = n;
  }
***************
*** 8877,8883 ****
  
      if (argvars[0].v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return;
      }
  
--- 8877,8883 ----
  
      if (argvars[0].v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
  
***************
*** 9221,9227 ****
      // second argument: dict with items to set in the tag stack
      if (argvars[1].v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return;
      }
      d = argvars[1].vval.v_dict;
--- 9221,9227 ----
      // second argument: dict with items to set in the tag stack
      if (argvars[1].v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
      d = argvars[1].vval.v_dict;
***************
*** 9249,9255 ****
      }
      else
      {
!       emsg(_(e_stringreq));
        return;
      }
  
--- 9249,9255 ----
      }
      else
      {
!       emsg(_(e_string_required));
        return;
      }
  
***************
*** 9365,9371 ****
  
      if (*curwin->w_s->b_p_spl == NUL)
      {
!       emsg(_(e_no_spell));
        curwin->w_p_spell = wo_spell_save;
        return;
      }
--- 9365,9371 ----
  
      if (*curwin->w_s->b_p_spl == NUL)
      {
!       emsg(_(e_spell_checking_is_not_possible));
        curwin->w_p_spell = wo_spell_save;
        return;
      }
***************
*** 9455,9461 ****
  
      if (*curwin->w_s->b_p_spl == NUL)
      {
!       emsg(_(e_no_spell));
        curwin->w_p_spell = wo_spell_save;
        return;
      }
--- 9455,9461 ----
  
      if (*curwin->w_s->b_p_spl == NUL)
      {
!       emsg(_(e_spell_checking_is_not_possible));
        curwin->w_p_spell = wo_spell_save;
        return;
      }
*** ../vim-8.2.3966/src/evalvars.c      2021-12-31 22:48:56.575368905 +0000
--- src/evalvars.c      2022-01-01 14:05:40.870809921 +0000
***************
*** 955,961 ****
      // ":let [v1, v2] = list" or ":for [v1, v2] in listlist"
      if (tv->v_type != VAR_LIST || (l = tv->vval.v_list) == NULL)
      {
!       emsg(_(e_listreq));
        return FAIL;
      }
  
--- 955,961 ----
      // ":let [v1, v2] = list" or ":for [v1, v2] in listlist"
      if (tv->v_type != VAR_LIST || (l = tv->vval.v_list) == NULL)
      {
!       emsg(_(e_list_required));
        return FAIL;
      }
  
***************
*** 1320,1326 ****
      else
      {
        if (op != NULL && vim_strchr((char_u *)"+-*/%", *op) != NULL)
!           semsg(_(e_letwrong), op);
        else if (endchars != NULL
                              && vim_strchr(endchars, *skipwhite(arg)) == NULL)
            emsg(_(e_unexpected_characters_in_let));
--- 1320,1326 ----
      else
      {
        if (op != NULL && vim_strchr((char_u *)"+-*/%", *op) != NULL)
!           semsg(_(e_wrong_variable_type_for_str_equal), op);
        else if (endchars != NULL
                              && vim_strchr(endchars, *skipwhite(arg)) == NULL)
            emsg(_(e_unexpected_characters_in_let));
***************
*** 1374,1380 ****
      if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
                                         && (flags & ASSIGN_FOR_LOOP) == 0)
      {
!       emsg(_(e_const_option));
        return NULL;
      }
  
--- 1374,1380 ----
      if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
                                         && (flags & ASSIGN_FOR_LOOP) == 0)
      {
!       emsg(_(e_cannot_lock_an_option));
        return NULL;
      }
  
***************
*** 1434,1440 ****
            if (((opt_type == gov_bool || opt_type == gov_number) && *op == '.')
                    || (opt_type == gov_string && *op != '.'))
            {
!               semsg(_(e_letwrong), op);
                failed = TRUE;  // don't set the value
  
            }
--- 1434,1440 ----
            if (((opt_type == gov_bool || opt_type == gov_number) && *op == '.')
                    || (opt_type == gov_string && *op != '.'))
            {
!               semsg(_(e_wrong_variable_type_for_str_equal), op);
                failed = TRUE;  // don't set the value
  
            }
***************
*** 1475,1481 ****
                arg_end = p;
            }
            else
!               emsg(_(e_stringreq));
        }
        *p = c1;
        vim_free(stringval);
--- 1475,1481 ----
                arg_end = p;
            }
            else
!               emsg(_(e_string_required));
        }
        *p = c1;
        vim_free(stringval);
***************
*** 1505,1511 ****
      }
      ++arg;
      if (op != NULL && vim_strchr((char_u *)"+-*/%", *op) != NULL)
!       semsg(_(e_letwrong), op);
      else if (endchars != NULL
                          && vim_strchr(endchars, *skipwhite(arg + 1)) == NULL)
        emsg(_(e_unexpected_characters_in_let));
--- 1505,1511 ----
      }
      ++arg;
      if (op != NULL && vim_strchr((char_u *)"+-*/%", *op) != NULL)
!       semsg(_(e_wrong_variable_type_for_str_equal), op);
      else if (endchars != NULL
                          && vim_strchr(endchars, *skipwhite(arg + 1)) == NULL)
        emsg(_(e_unexpected_characters_in_let));
***************
*** 3309,3315 ****
      ht = find_var_ht(name, &varname);
      if (ht == NULL || *varname == NUL)
      {
!       semsg(_(e_illvar), name);
        goto failed;
      }
      is_script_local = ht == get_script_local_ht();
--- 3309,3315 ----
      ht = find_var_ht(name, &varname);
      if (ht == NULL || *varname == NUL)
      {
!       semsg(_(e_illegal_variable_name_str), name);
        goto failed;
      }
      is_script_local = ht == get_script_local_ht();
***************
*** 3403,3409 ****
                if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
                                             && (flags & ASSIGN_FOR_LOOP) == 0)
                {
!                   emsg(_(e_cannot_mod));
                    goto failed;
                }
  
--- 3403,3409 ----
                if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
                                             && (flags & ASSIGN_FOR_LOOP) == 0)
                {
!                   emsg(_(e_cannot_modify_existing_variable));
                    goto failed;
                }
  
***************
*** 3518,3524 ****
            // Can't add "v:" or "a:" variable.
            if (ht == &vimvarht || ht == get_funccal_args_ht())
            {
!               semsg(_(e_illvar), name);
                goto failed;
            }
  
--- 3518,3524 ----
            // Can't add "v:" or "a:" variable.
            if (ht == &vimvarht || ht == get_funccal_args_ht())
            {
!               semsg(_(e_illegal_variable_name_str), name);
                goto failed;
            }
  
***************
*** 3748,3754 ****
        if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
                                         && !(autoload && *p == AUTOLOAD_CHAR))
        {
!           semsg(_(e_illvar), varname);
            return FALSE;
        }
      return TRUE;
--- 3748,3754 ----
        if (!eval_isnamec1(*p) && (p == varname || !VIM_ISDIGIT(*p))
                                         && !(autoload && *p == AUTOLOAD_CHAR))
        {
!           semsg(_(e_illegal_variable_name_str), varname);
            return FALSE;
        }
      return TRUE;
*** ../vim-8.2.3966/src/ex_cmds.c       2021-12-31 22:48:56.575368905 +0000
--- src/ex_cmds.c       2022-01-01 13:14:29.007835060 +0000
***************
*** 1137,1143 ****
        if ((do_in && (itmp = vim_tempname('i', FALSE)) == NULL)
                || (do_out && (otmp = vim_tempname('o', FALSE)) == NULL))
        {
!           emsg(_(e_notmp));
            goto filterend;
        }
  
--- 1137,1143 ----
        if ((do_in && (itmp = vim_tempname('i', FALSE)) == NULL)
                || (do_out && (otmp = vim_tempname('o', FALSE)) == NULL))
        {
!           emsg(_(e_cant_get_temp_file_name));
            goto filterend;
        }
  
***************
*** 1154,1160 ****
  #if defined(FEAT_EVAL)
        if (!aborting())
  #endif
!           (void)semsg(_(e_notcreate), itmp);  // will call wait_return
        goto filterend;
      }
      if (curbuf != old_curbuf)
--- 1154,1160 ----
  #if defined(FEAT_EVAL)
        if (!aborting())
  #endif
!           (void)semsg(_(e_cant_create_file_str), itmp);       // will call 
wait_return
        goto filterend;
      }
      if (curbuf != old_curbuf)
***************
*** 1229,1235 ****
  #endif
                {
                    msg_putchar('\n');
!                   semsg(_(e_notread), otmp);
                }
                goto error;
            }
--- 1229,1235 ----
  #endif
                {
                    msg_putchar('\n');
!                   semsg(_(e_cant_read_file_str), otmp);
                }
                goto error;
            }
***************
*** 4780,4786 ****
        else if (got_match)     // did find something but nothing substituted
            msg("");
        else if (subflags.do_error)     // nothing found
!           semsg(_(e_patnotf2), get_search_pat());
      }
  
  #ifdef FEAT_FOLDING
--- 4780,4786 ----
        else if (got_match)     // did find something but nothing substituted
            msg("");
        else if (subflags.do_error)     // nothing found
!           semsg(_(e_pattern_not_found_str), get_search_pat());
      }
  
  #ifdef FEAT_FOLDING
*** ../vim-8.2.3966/src/ex_docmd.c      2021-12-31 22:48:56.575368905 +0000
--- src/ex_docmd.c      2022-01-01 14:14:02.945200056 +0000
***************
*** 2124,2138 ****
  
        if (!ni && !(ea.argt & EX_RANGE) && ea.addr_count > 0)
        {
!           // no range allowed
!           errormsg = _(e_norange);
            goto doend;
        }
      }
  
!     if (!ni && !(ea.argt & EX_BANG) && ea.forceit)    // no <!> allowed
      {
!       errormsg = _(e_nobang);
        goto doend;
      }
  
--- 2124,2137 ----
  
        if (!ni && !(ea.argt & EX_RANGE) && ea.addr_count > 0)
        {
!           errormsg = _(e_no_range_allowed);
            goto doend;
        }
      }
  
!     if (!ni && !(ea.argt & EX_BANG) && ea.forceit)
      {
!       errormsg = _(e_no_bang_allowed);
        goto doend;
      }
  
***************
*** 4016,4022 ****
  addr_error(cmd_addr_T addr_type)
  {
      if (addr_type == ADDR_NONE)
!       emsg(_(e_norange));
      else
        emsg(_(e_invalid_range));
  }
--- 4015,4021 ----
  addr_error(cmd_addr_T addr_type)
  {
      if (addr_type == ADDR_NONE)
!       emsg(_(e_no_range_allowed));
      else
        emsg(_(e_invalid_range));
  }
***************
*** 6882,6888 ****
            if (vim_regexec(&regmatch, line, (colnr_T)0))
                curwin->w_cursor.col = (colnr_T)(regmatch.startp[0] - line);
            else
!               emsg(_(e_nomatch));
            vim_regfree(regmatch.regprog);
            vim_free(line);
        }
--- 6881,6887 ----
            if (vim_regexec(&regmatch, line, (colnr_T)0))
                curwin->w_cursor.col = (colnr_T)(regmatch.startp[0] - line);
            else
!               emsg(_(e_no_match));
            vim_regfree(regmatch.regprog);
            vim_free(line);
        }
***************
*** 7254,7260 ****
  #if defined(FEAT_EVAL)
            if (!aborting())
  #endif
!               semsg(_(e_notopen), eap->arg);
        }
        else
        {
--- 7253,7259 ----
  #if defined(FEAT_EVAL)
            if (!aborting())
  #endif
!               semsg(_(e_cant_open_file_str), eap->arg);
        }
        else
        {
*** ../vim-8.2.3966/src/fileio.c        2021-12-31 22:48:56.579368905 +0000
--- src/fileio.c        2022-01-01 13:07:43.704270474 +0000
***************
*** 4809,4815 ****
      if (!ok)
      {
        failed = TRUE;
!       semsg(_(e_notopen), path);
      }
      else
      {
--- 4809,4815 ----
      if (!ok)
      {
        failed = TRUE;
!       semsg(_(e_cant_open_file_str), path);
      }
      else
      {
***************
*** 4879,4885 ****
      if (dirp == NULL)
      {
        failed = TRUE;
!       semsg(_(e_notopen), path);
      }
      else
      {
--- 4879,4885 ----
      if (dirp == NULL)
      {
        failed = TRUE;
!       semsg(_(e_cant_open_file_str), path);
      }
      else
      {
*** ../vim-8.2.3966/src/filepath.c      2021-12-31 22:48:56.579368905 +0000
--- src/filepath.c      2022-01-01 13:41:29.197243326 +0000
***************
*** 1599,1605 ****
  
      if (tv->v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return FAIL;
      }
  
--- 1599,1605 ----
  
      if (tv->v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return FAIL;
      }
  
***************
*** 1607,1613 ****
        compare = dict_get_string(tv->vval.v_dict, (char_u *)"sort", FALSE);
      else
      {
!       semsg(_(e_no_dict_key), "sort");
        return FAIL;
      }
  
--- 1607,1613 ----
        compare = dict_get_string(tv->vval.v_dict, (char_u *)"sort", FALSE);
      else
      {
!       semsg(_(e_dictionary_key_str_required), "sort");
        return FAIL;
      }
  
***************
*** 1766,1772 ****
      }
      if (*fname == NUL || (fd = mch_fopen((char *)fname, READBIN)) == NULL)
      {
!       semsg(_(e_notopen), *fname == NUL ? (char_u *)_("<empty>") : fname);
        return;
      }
  
--- 1766,1772 ----
      }
      if (*fname == NUL || (fd = mch_fopen((char *)fname, READBIN)) == NULL)
      {
!       semsg(_(e_cant_open_file_str), *fname == NUL ? (char_u *)_("<empty>") : 
fname);
        return;
      }
  
***************
*** 1774,1780 ****
      {
        if (read_blob(fd, rettv->vval.v_blob) == FAIL)
        {
!           semsg(_(e_notread), fname);
            // An empty blob is returned on error.
            blob_free(rettv->vval.v_blob);
            rettv->vval.v_blob = NULL;
--- 1774,1780 ----
      {
        if (read_blob(fd, rettv->vval.v_blob) == FAIL)
        {
!           semsg(_(e_cant_read_file_str), fname);
            // An empty blob is returned on error.
            blob_free(rettv->vval.v_blob);
            rettv->vval.v_blob = NULL;
***************
*** 2299,2305 ****
      if (*fname == NUL || (fd = mch_fopen((char *)fname,
                                      append ? APPENDBIN : WRITEBIN)) == NULL)
      {
!       semsg(_(e_notcreate), *fname == NUL ? (char_u *)_("<empty>") : fname);
        ret = -1;
      }
      else if (blob)
--- 2299,2305 ----
      if (*fname == NUL || (fd = mch_fopen((char *)fname,
                                      append ? APPENDBIN : WRITEBIN)) == NULL)
      {
!       semsg(_(e_cant_create_file_str), *fname == NUL ? (char_u *)_("<empty>") 
: fname);
        ret = -1;
      }
      else if (blob)
*** ../vim-8.2.3966/src/getchar.c       2022-01-01 12:42:52.650052077 +0000
--- src/getchar.c       2022-01-01 13:07:50.484264682 +0000
***************
*** 1467,1473 ****
      expand_env(name, NameBuff, MAXPATHL);
      if ((scriptin[curscript] = mch_fopen((char *)NameBuff, READBIN)) == NULL)
      {
!       semsg(_(e_notopen), name);
        if (curscript)
            --curscript;
        return;
--- 1467,1473 ----
      expand_env(name, NameBuff, MAXPATHL);
      if ((scriptin[curscript] = mch_fopen((char *)NameBuff, READBIN)) == NULL)
      {
!       semsg(_(e_cant_open_file_str), name);
        if (curscript)
            --curscript;
        return;
*** ../vim-8.2.3966/src/gui_gtk_x11.c   2021-12-31 22:48:56.579368905 +0000
--- src/gui_gtk_x11.c   2022-01-01 13:11:35.708040213 +0000
***************
*** 1507,1513 ****
      {
        gui.dying = TRUE;
        if (give_message)
!           emsg(_((char *)e_opendisp));
        return FAIL;
      }
      return OK;
--- 1507,1513 ----
      {
        gui.dying = TRUE;
        if (give_message)
!           emsg(_((char *)e_cannot_open_display));
        return FAIL;
      }
      return OK;
***************
*** 1553,1559 ****
      if (!gtk_init_check(&gui_argc, &gui_argv))
      {
        gui.dying = TRUE;
!       emsg(_((char *)e_opendisp));
        return FAIL;
      }
  
--- 1553,1559 ----
      if (!gtk_init_check(&gui_argc, &gui_argv))
      {
        gui.dying = TRUE;
!       emsg(_((char *)e_cannot_open_display));
        return FAIL;
      }
  
*** ../vim-8.2.3966/src/gui_x11.c       2021-12-31 22:48:56.579368905 +0000
--- src/gui_x11.c       2022-01-01 13:11:37.768037916 +0000
***************
*** 1218,1224 ****
      if (app_context == NULL || gui.dpy == NULL)
      {
        gui.dying = TRUE;
!       emsg(_(e_opendisp));
        return FAIL;
      }
      return OK;
--- 1218,1224 ----
      if (app_context == NULL || gui.dpy == NULL)
      {
        gui.dying = TRUE;
!       emsg(_(e_cannot_open_display));
        return FAIL;
      }
      return OK;
*** ../vim-8.2.3966/src/hardcopy.c      2021-10-02 11:23:01.566500862 +0100
--- src/hardcopy.c      2022-01-01 13:06:45.900317151 +0000
***************
*** 2625,2631 ****
        prt_ps_file_name = vim_tempname('p', TRUE);
        if (prt_ps_file_name == NULL)
        {
!           emsg(_(e_notmp));
            return FAIL;
        }
        prt_ps_fd = mch_fopen((char *)prt_ps_file_name, WRITEBIN);
--- 2625,2631 ----
        prt_ps_file_name = vim_tempname('p', TRUE);
        if (prt_ps_file_name == NULL)
        {
!           emsg(_(e_cant_get_temp_file_name));
            return FAIL;
        }
        prt_ps_fd = mch_fopen((char *)prt_ps_file_name, WRITEBIN);
*** ../vim-8.2.3966/src/help.c  2021-12-31 17:25:44.044304828 +0000
--- src/help.c  2022-01-01 14:16:51.572765106 +0000
***************
*** 982,988 ****
            || filecount == 0)
      {
        if (!got_int)
!           semsg(_(e_no_match_str), NameBuff);
        return;
      }
  
--- 982,988 ----
            || filecount == 0)
      {
        if (!got_int)
!           semsg(_(e_no_match_str_1), NameBuff);
        return;
      }
  
*** ../vim-8.2.3966/src/highlight.c     2021-12-31 22:48:56.583368902 +0000
--- src/highlight.c     2022-01-01 14:00:12.435348993 +0000
***************
*** 4273,4279 ****
  
      if (di->di_tv.v_type != VAR_STRING || di->di_tv.vval.v_string == NULL)
      {
!       emsg(_(e_stringreq));
        *error = TRUE;
        return NULL;
      }
--- 4273,4279 ----
  
      if (di->di_tv.v_type != VAR_STRING || di->di_tv.vval.v_string == NULL)
      {
!       emsg(_(e_string_required));
        *error = TRUE;
        return NULL;
      }
***************
*** 4306,4312 ****
  
      if (di->di_tv.v_type != VAR_DICT || di->di_tv.vval.v_dict == NULL)
      {
!       emsg(_(e_dictreq));
        return FALSE;
      }
  
--- 4306,4312 ----
  
      if (di->di_tv.v_type != VAR_DICT || di->di_tv.vval.v_dict == NULL)
      {
!       emsg(_(e_dictionary_required));
        return FALSE;
      }
  
***************
*** 4548,4554 ****
      {
        if (li->li_tv.v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return;
        }
  
--- 4548,4554 ----
      {
        if (li->li_tv.v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
  
*** ../vim-8.2.3966/src/if_cscope.c     2021-10-24 14:50:02.044686677 +0100
--- src/if_cscope.c     2022-01-01 13:07:54.472261247 +0000
***************
*** 1176,1182 ****
  
        f = mch_fopen((char *)tmp, "w");
        if (f == NULL)
!           semsg(_(e_notopen), tmp);
        else
        {
            cs_file_results(f, nummatches);
--- 1176,1182 ----
  
        f = mch_fopen((char *)tmp, "w");
        if (f == NULL)
!           semsg(_(e_cant_open_file_str), tmp);
        else
        {
            cs_file_results(f, nummatches);
*** ../vim-8.2.3966/src/if_lua.c        2021-10-04 21:51:53.779991087 +0100
--- src/if_lua.c        2022-01-01 12:57:02.352451732 +0000
***************
*** 452,458 ****
      if (!hinstLua)
      {
        if (verbose)
!           semsg(_(e_loadlib), libname, load_dll_error());
        return FAIL;
      }
      for (reg = luaV_dll; reg->func; reg++)
--- 452,458 ----
      if (!hinstLua)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), libname, 
load_dll_error());
        return FAIL;
      }
      for (reg = luaV_dll; reg->func; reg++)
***************
*** 462,468 ****
            close_dll(hinstLua);
            hinstLua = 0;
            if (verbose)
!               semsg(_(e_loadfunc), reg->name);
            return FAIL;
        }
      }
--- 462,468 ----
            close_dll(hinstLua);
            hinstLua = 0;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), reg->name);
            return FAIL;
        }
      }
*** ../vim-8.2.3966/src/if_mzsch.c      2021-12-06 11:03:50.950900210 +0000
--- src/if_mzsch.c      2022-01-01 12:57:07.740441159 +0000
***************
*** 668,681 ****
      if (!hMzGC)
      {
        if (verbose)
!           semsg(_(e_loadlib), gc_dll, GetWin32Error());
        return FAIL;
      }
  
      if (!hMzSch)
      {
        if (verbose)
!           semsg(_(e_loadlib), sch_dll, GetWin32Error());
        return FAIL;
      }
  
--- 668,681 ----
      if (!hMzGC)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), gc_dll, GetWin32Error());
        return FAIL;
      }
  
      if (!hMzSch)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), sch_dll, 
GetWin32Error());
        return FAIL;
      }
  
***************
*** 689,695 ****
            FreeLibrary(hMzGC);
            hMzGC = 0;
            if (verbose)
!               semsg(_(e_loadfunc), thunk->name);
            return FAIL;
        }
      }
--- 689,695 ----
            FreeLibrary(hMzGC);
            hMzGC = 0;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), thunk->name);
            return FAIL;
        }
      }
***************
*** 703,709 ****
            FreeLibrary(hMzGC);
            hMzGC = 0;
            if (verbose)
!               semsg(_(e_loadfunc), thunk->name);
            return FAIL;
        }
      }
--- 703,709 ----
            FreeLibrary(hMzGC);
            hMzGC = 0;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), thunk->name);
            return FAIL;
        }
      }
*** ../vim-8.2.3966/src/if_perl.xs      2021-07-24 12:57:25.477296535 +0100
--- src/if_perl.xs      2022-01-01 12:57:35.732386073 +0000
***************
*** 773,779 ****
            close_dll(hPerlLib);
            hPerlLib = NULL;
            if (verbose)
!               semsg((const char *)_(e_loadfunc), perl_funcname_table[i].name);
            return FAIL;
        }
      }
--- 773,779 ----
            close_dll(hPerlLib);
            hPerlLib = NULL;
            if (verbose)
!               semsg((const char *)_(e_could_not_load_library_function_str), 
perl_funcname_table[i].name);
            return FAIL;
        }
      }
*** ../vim-8.2.3966/src/if_python.c     2021-12-27 17:21:38.012449123 +0000
--- src/if_python.c     2022-01-01 12:57:12.596431609 +0000
***************
*** 690,696 ****
      if (!hinstPython)
      {
        if (verbose)
!           semsg(_(e_loadlib), libname, load_dll_error());
        return FAIL;
      }
  
--- 690,696 ----
      if (!hinstPython)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), libname, 
load_dll_error());
        return FAIL;
      }
  
***************
*** 702,708 ****
            close_dll(hinstPython);
            hinstPython = 0;
            if (verbose)
!               semsg(_(e_loadfunc), python_funcname_table[i].name);
            return FAIL;
        }
      }
--- 702,708 ----
            close_dll(hinstPython);
            hinstPython = 0;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), 
python_funcname_table[i].name);
            return FAIL;
        }
      }
***************
*** 719,725 ****
        close_dll(hinstPython);
        hinstPython = 0;
        if (verbose)
!           semsg(_(e_loadfunc), "PyUnicode_UCSX_*");
        return FAIL;
      }
  
--- 719,725 ----
        close_dll(hinstPython);
        hinstPython = 0;
        if (verbose)
!           semsg(_(e_could_not_load_library_function_str), "PyUnicode_UCSX_*");
        return FAIL;
      }
  
*** ../vim-8.2.3966/src/if_python3.c    2021-12-27 17:21:38.012449123 +0000
--- src/if_python3.c    2022-01-01 12:57:19.140418722 +0000
***************
*** 797,803 ****
      if (!hinstPy3)
      {
        if (verbose)
!           semsg(_(e_loadlib), libname, load_dll_error());
        return FAIL;
      }
  
--- 797,803 ----
      if (!hinstPy3)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), libname, 
load_dll_error());
        return FAIL;
      }
  
***************
*** 809,815 ****
            close_dll(hinstPy3);
            hinstPy3 = 0;
            if (verbose)
!               semsg(_(e_loadfunc), py3_funcname_table[i].name);
            return FAIL;
        }
      }
--- 809,815 ----
            close_dll(hinstPy3);
            hinstPy3 = 0;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), 
py3_funcname_table[i].name);
            return FAIL;
        }
      }
***************
*** 844,850 ****
        close_dll(hinstPy3);
        hinstPy3 = 0;
        if (verbose)
!           semsg(_(e_loadfunc), "PyUnicode_UCSX_*");
        return FAIL;
      }
  
--- 844,850 ----
        close_dll(hinstPy3);
        hinstPy3 = 0;
        if (verbose)
!           semsg(_(e_could_not_load_library_function_str), "PyUnicode_UCSX_*");
        return FAIL;
      }
  
*** ../vim-8.2.3966/src/if_ruby.c       2021-12-28 15:51:40.079738196 +0000
--- src/if_ruby.c       2022-01-01 12:57:22.336412436 +0000
***************
*** 845,851 ****
      if (!hinstRuby)
      {
        if (verbose)
!           semsg(_(e_loadlib), libname, load_dll_error());
        return FAIL;
      }
  
--- 845,851 ----
      if (!hinstRuby)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), libname, 
load_dll_error());
        return FAIL;
      }
  
***************
*** 857,863 ****
            close_dll(hinstRuby);
            hinstRuby = NULL;
            if (verbose)
!               semsg(_(e_loadfunc), ruby_funcname_table[i].name);
            return FAIL;
        }
      }
--- 857,863 ----
            close_dll(hinstRuby);
            hinstRuby = NULL;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), 
ruby_funcname_table[i].name);
            return FAIL;
        }
      }
*** ../vim-8.2.3966/src/if_tcl.c        2021-12-06 11:03:50.950900210 +0000
--- src/if_tcl.c        2022-01-01 12:57:24.284408602 +0000
***************
*** 215,221 ****
      if (!(hTclLib = load_dll(libname)))
      {
        if (verbose)
!           semsg(_(e_loadlib), libname, load_dll_error());
        return FAIL;
      }
      for (i = 0; tcl_funcname_table[i].ptr; ++i)
--- 215,221 ----
      if (!(hTclLib = load_dll(libname)))
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str), libname, 
load_dll_error());
        return FAIL;
      }
      for (i = 0; tcl_funcname_table[i].ptr; ++i)
***************
*** 226,232 ****
            close_dll(hTclLib);
            hTclLib = NULL;
            if (verbose)
!               semsg(_(e_loadfunc), tcl_funcname_table[i].name);
            return FAIL;
        }
      }
--- 226,232 ----
            close_dll(hTclLib);
            hTclLib = NULL;
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), 
tcl_funcname_table[i].name);
            return FAIL;
        }
      }
*** ../vim-8.2.3966/src/if_xcmdsrv.c    2021-12-27 17:21:38.012449123 +0000
--- src/if_xcmdsrv.c    2022-01-01 13:04:39.188400091 +0000
***************
*** 425,431 ****
      if (w == None)
      {
        if (!silent)
!           semsg(_(e_noserver), name);
        return -1;
      }
      else if (loosename != NULL)
--- 425,431 ----
      if (w == None)
      {
        if (!silent)
!           semsg(_(e_no_registered_server_named_str), name);
        return -1;
      }
      else if (loosename != NULL)
*** ../vim-8.2.3966/src/indent.c        2021-12-31 22:48:56.583368902 +0000
--- src/indent.c        2022-01-01 13:15:14.559777693 +0000
***************
*** 42,48 ****
            if (strtol((char *)cp, (char **)&end, 10) <= 0)
            {
                if (cp != end)
!                   emsg(_(e_positive));
                else
                    semsg(_(e_invalid_argument_str), cp);
                return FAIL;
--- 42,48 ----
            if (strtol((char *)cp, (char **)&end, 10) <= 0)
            {
                if (cp != end)
!                   emsg(_(e_argument_must_be_positive));
                else
                    semsg(_(e_invalid_argument_str), cp);
                return FAIL;
***************
*** 1622,1628 ****
      new_ts = getdigits(&ptr);
      if (new_ts < 0 && *eap->arg == '-')
      {
!       emsg(_(e_positive));
        return;
      }
      if (new_ts < 0 || new_ts > 9999)
--- 1622,1628 ----
      new_ts = getdigits(&ptr);
      if (new_ts < 0 && *eap->arg == '-')
      {
!       emsg(_(e_argument_must_be_positive));
        return;
      }
      if (new_ts < 0 || new_ts > 9999)
*** ../vim-8.2.3966/src/insexpand.c     2021-12-31 22:48:56.583368902 +0000
--- src/insexpand.c     2022-01-01 13:29:24.630564052 +0000
***************
*** 2960,2966 ****
      {
        if (argvars[0].v_type != VAR_LIST)
        {
!           emsg(_(e_listreq));
            return;
        }
        what_list = argvars[0].vval.v_list;
--- 2960,2966 ----
      {
        if (argvars[0].v_type != VAR_LIST)
        {
!           emsg(_(e_list_required));
            return;
        }
        what_list = argvars[0].vval.v_list;
***************
*** 4696,4702 ****
      {
        edit_submode_extra = (compl_cont_status & CONT_ADDING)
                        && compl_length > 1
!                            ? (char_u *)_(e_hitend) : (char_u *)_(e_patnotf);
        edit_submode_highl = HLF_E;
      }
  
--- 4696,4703 ----
      {
        edit_submode_extra = (compl_cont_status & CONT_ADDING)
                        && compl_length > 1
!                               ? (char_u *)_(e_hitend)
!                               : (char_u *)_(e_pattern_not_found);
        edit_submode_highl = HLF_E;
      }
  
*** ../vim-8.2.3966/src/job.c   2021-12-31 22:48:56.583368902 +0000
--- src/job.c   2022-01-01 13:31:50.126339467 +0000
***************
*** 131,137 ****
        return OK;
      if (tv->v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return FAIL;
      }
      dict = tv->vval.v_dict;
--- 131,137 ----
        return OK;
      if (tv->v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return FAIL;
      }
      dict = tv->vval.v_dict;
*** ../vim-8.2.3966/src/list.c  2021-12-31 22:48:56.583368902 +0000
--- src/list.c  2022-01-01 14:06:12.038714631 +0000
***************
*** 524,530 ****
      li = list_find(l, idx - 1);
      if (li == NULL)
      {
!       semsg(_(e_listidx), idx);
        return NULL;
      }
      return tv_get_string(&li->li_tv);
--- 524,530 ----
      li = list_find(l, idx - 1);
      if (li == NULL)
      {
!       semsg(_(e_list_index_out_of_range_nr), idx);
        return NULL;
      }
      return tv_get_string(&li->li_tv);
***************
*** 782,788 ****
        if (li == NULL)
        {
            if (!quiet)
!               semsg(_(e_listidx), *n1);
            return NULL;
        }
      }
--- 782,788 ----
        if (li == NULL)
        {
            if (!quiet)
!               semsg(_(e_list_index_out_of_range_nr), *n1);
            return NULL;
        }
      }
***************
*** 810,816 ****
        if (ni == NULL)
        {
            if (!quiet)
!               semsg(_(e_listidx), *n2);
            return FAIL;
        }
        *n2 = list_idx_of_item(l, ni);
--- 810,816 ----
        if (ni == NULL)
        {
            if (!quiet)
!               semsg(_(e_list_index_out_of_range_nr), *n2);
            return FAIL;
        }
        *n2 = list_idx_of_item(l, ni);
***************
*** 822,828 ****
      if (*n2 < *n1)
      {
        if (!quiet)
!           semsg(_(e_listidx), *n2);
        return FAIL;
      }
      return OK;
--- 822,828 ----
      if (*n2 < *n1)
      {
        if (!quiet)
!           semsg(_(e_list_index_out_of_range_nr), *n2);
        return FAIL;
      }
      return OK;
***************
*** 1163,1169 ****
        if (!range)
        {
            if (verbose)
!               semsg(_(e_listidx), (long)n1_arg);
            return FAIL;
        }
        if (in_vim9script())
--- 1163,1169 ----
        if (!range)
        {
            if (verbose)
!               semsg(_(e_list_index_out_of_range_nr), (long)n1_arg);
            return FAIL;
        }
        if (in_vim9script())
***************
*** 1449,1455 ****
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_listreq));
        return;
      }
      rettv->v_type = VAR_STRING;
--- 1449,1455 ----
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_list_required));
        return;
      }
      rettv->v_type = VAR_STRING;
***************
*** 1551,1557 ****
      if (**arg != ']')
      {
        if (do_error)
!           semsg(_(e_list_end), *arg);
  failret:
        if (evaluate)
            list_free(l);
--- 1551,1557 ----
      if (**arg != ']')
      {
        if (do_error)
!           semsg(_(e_missing_end_of_list_rsb_str), *arg);
  failret:
        if (evaluate)
            list_free(l);
***************
*** 1725,1731 ****
  
      if ((item = list_find(l, idx)) == NULL)
      {
!       semsg(_(e_listidx), idx);
        return;
      }
  
--- 1725,1731 ----
  
      if ((item = list_find(l, idx)) == NULL)
      {
!       semsg(_(e_list_index_out_of_range_nr), idx);
        return;
      }
  
***************
*** 1745,1751 ****
  
      if ((item2 = list_find(l, end)) == NULL)
      {
!       semsg(_(e_listidx), end);
        return;
      }
  
--- 1745,1751 ----
  
      if ((item2 = list_find(l, end)) == NULL)
      {
!       semsg(_(e_list_index_out_of_range_nr), end);
        return;
      }
  
***************
*** 2174,2180 ****
        // optional third argument: {dict}
        if (argvars[2].v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return FAIL;
        }
        info->item_compare_selfdict = argvars[2].vval.v_dict;
--- 2174,2180 ----
        // optional third argument: {dict}
        if (argvars[2].v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return FAIL;
        }
        info->item_compare_selfdict = argvars[2].vval.v_dict;
***************
*** 2598,2604 ****
      else if (argvars[0].v_type == VAR_BLOB)
        blob_add(argvars, rettv);
      else
!       emsg(_(e_listblobreq));
  }
  
  /*
--- 2598,2604 ----
      else if (argvars[0].v_type == VAR_BLOB)
        blob_add(argvars, rettv);
      else
!       emsg(_(e_list_or_blob_required));
  }
  
  /*
***************
*** 2622,2628 ****
      li = list_find(l, idx);
      if (li == NULL)
      {
!       semsg(_(e_listidx), idx);
        return 0;
      }
  
--- 2622,2628 ----
      li = list_find(l, idx);
      if (li == NULL)
      {
!       semsg(_(e_list_index_out_of_range_nr), idx);
        return 0;
      }
  
***************
*** 2675,2681 ****
            n = dict_count(argvars[0].vval.v_dict, &argvars[1], ic);
      }
      else
!       semsg(_(e_listdictarg), "count()");
      rettv->vval.v_number = n;
  }
  
--- 2675,2681 ----
            n = dict_count(argvars[0].vval.v_dict, &argvars[1], ic);
      }
      else
!       semsg(_(e_argument_of_str_must_be_list_or_dictionary), "count()");
      rettv->vval.v_number = n;
  }
  
***************
*** 2728,2734 ****
                item = list_find(l1, before);
                if (item == NULL)
                {
!                   semsg(_(e_listidx), before);
                    return;
                }
            }
--- 2728,2734 ----
                item = list_find(l1, before);
                if (item == NULL)
                {
!                   semsg(_(e_list_index_out_of_range_nr), before);
                    return;
                }
            }
***************
*** 2773,2779 ****
      else if (argvars[0].v_type == VAR_DICT && argvars[1].v_type == VAR_DICT)
        dict_extend_func(argvars, type, func_name, arg_errmsg, is_new, rettv);
      else
!       semsg(_(e_listdictarg), func_name);
  
      if (type != NULL)
        clear_type_list(&type_list);
--- 2773,2779 ----
      else if (argvars[0].v_type == VAR_DICT && argvars[1].v_type == VAR_DICT)
        dict_extend_func(argvars, type, func_name, arg_errmsg, is_new, rettv);
      else
!       semsg(_(e_argument_of_str_must_be_list_or_dictionary), func_name);
  
      if (type != NULL)
        clear_type_list(&type_list);
***************
*** 2833,2839 ****
        item = list_find(l, before);
        if (item == NULL)
        {
!           semsg(_(e_listidx), before);
            l = NULL;
        }
      }
--- 2833,2839 ----
        item = list_find(l, before);
        if (item == NULL)
        {
!           semsg(_(e_list_index_out_of_range_nr), before);
            l = NULL;
        }
      }
***************
*** 2890,2896 ****
      else if (argvars[0].v_type == VAR_LIST)
        list_remove(argvars, rettv, arg_errmsg);
      else
!       semsg(_(e_listdictblobarg), "remove()");
  }
  
      static void
--- 2890,2896 ----
      else if (argvars[0].v_type == VAR_LIST)
        list_remove(argvars, rettv, arg_errmsg);
      else
!       semsg(_(e_argument_of_str_must_be_list_dictionary_or_blob), "remove()");
  }
  
      static void
***************
*** 2969,2975 ****
      {
        if (l == NULL || l->lv_first == NULL)
        {
!           semsg(_(e_reduceempty), "List");
            return;
        }
        initial = l->lv_first->li_tv;
--- 2969,2975 ----
      {
        if (l == NULL || l->lv_first == NULL)
        {
!           semsg(_(e_reduce_of_an_empty_str_with_no_initial_value), "List");
            return;
        }
        initial = l->lv_first->li_tv;
*** ../vim-8.2.3966/src/main.c  2021-12-27 17:21:38.012449123 +0000
--- src/main.c  2022-01-01 13:00:36.868459919 +0000
***************
*** 2094,2100 ****
  #ifdef FEAT_ARABIC
                set_option_value((char_u *)"arabic", 1L, NULL, 0);
  #else
!               mch_errmsg(_(e_noarabic));
                mch_exit(2);
  #endif
                break;
--- 2094,2100 ----
  #ifdef FEAT_ARABIC
                set_option_value((char_u *)"arabic", 1L, NULL, 0);
  #else
!               
mch_errmsg(_(e_arabic_cannot_be_used_not_enabled_at_compile_time));
                mch_exit(2);
  #endif
                break;
*** ../vim-8.2.3966/src/map.c   2021-12-31 22:48:56.583368902 +0000
--- src/map.c   2022-01-01 13:33:59.242078829 +0000
***************
*** 2362,2368 ****
  
      if (argvars[2].v_type != VAR_DICT)
      {
!       emsg(_(e_dictkey));
        return;
      }
      d = argvars[2].vval.v_dict;
--- 2362,2368 ----
  
      if (argvars[2].v_type != VAR_DICT)
      {
!       emsg(_(e_key_not_present_in_dictionary));
        return;
      }
      d = argvars[2].vval.v_dict;
*** ../vim-8.2.3966/src/match.c 2021-12-31 22:48:56.583368902 +0000
--- src/match.c 2022-01-01 13:31:55.570328206 +0000
***************
*** 936,942 ****
  
      if (tv->v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return FAIL;
      }
  
--- 936,942 ----
  
      if (tv->v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return FAIL;
      }
  
***************
*** 1070,1076 ****
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_listreq));
        return;
      }
      win = get_optional_window(argvars, 1);
--- 1070,1076 ----
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_list_required));
        return;
      }
      win = get_optional_window(argvars, 1);
*** ../vim-8.2.3966/src/mbyte.c 2021-12-31 22:48:56.583368902 +0000
--- src/mbyte.c 2022-01-01 13:29:33.486550614 +0000
***************
*** 4907,4913 ****
        if (verbose && p_verbose > 0)
        {
            verbose_enter();
!           semsg(_(e_loadlib),
                    hIconvDLL == 0 ? DYNAMIC_ICONV_DLL : DYNAMIC_MSVCRT_DLL,
                    GetWin32Error());
            verbose_leave();
--- 4907,4913 ----
        if (verbose && p_verbose > 0)
        {
            verbose_enter();
!           semsg(_(e_could_not_load_library_str_str),
                    hIconvDLL == 0 ? DYNAMIC_ICONV_DLL : DYNAMIC_MSVCRT_DLL,
                    GetWin32Error());
            verbose_leave();
***************
*** 4930,4936 ****
        if (verbose && p_verbose > 0)
        {
            verbose_enter();
!           semsg(_(e_loadfunc), "for libiconv");
            verbose_leave();
        }
        return FALSE;
--- 4930,4936 ----
        if (verbose && p_verbose > 0)
        {
            verbose_enter();
!           semsg(_(e_could_not_load_library_function_str), "for libiconv");
            verbose_leave();
        }
        return FALSE;
***************
*** 5524,5530 ****
  
      if (argvars[0].v_type != VAR_LIST || argvars[0].vval.v_list == NULL)
      {
!       emsg(_(e_listreq));
        return;
      }
      l = argvars[0].vval.v_list;
--- 5524,5530 ----
  
      if (argvars[0].v_type != VAR_LIST || argvars[0].vval.v_list == NULL)
      {
!       emsg(_(e_list_required));
        return;
      }
      l = argvars[0].vval.v_list;
*** ../vim-8.2.3966/src/message.c       2022-01-01 00:55:24.357180922 +0000
--- src/message.c       2022-01-01 13:07:57.172258877 +0000
***************
*** 873,879 ****
      void
  internal_error(char *where)
  {
!     siemsg(_(e_intern2), where);
  }
  
  /*
--- 873,879 ----
      void
  internal_error(char *where)
  {
!     siemsg(_(e_internal_error_str), where);
  }
  
  /*
***************
*** 883,889 ****
      void
  internal_error_no_abort(char *where)
  {
!      semsg(_(e_intern2), where);
  }
  
  // emsg3() and emsgn() are in misc2.c to avoid warnings for the prototypes.
--- 883,889 ----
      void
  internal_error_no_abort(char *where)
  {
!      semsg(_(e_internal_error_str), where);
  }
  
  // emsg3() and emsgn() are in misc2.c to avoid warnings for the prototypes.
***************
*** 3625,3631 ****
        verbose_fd = mch_fopen((char *)p_vfile, "a");
        if (verbose_fd == NULL)
        {
!           semsg(_(e_notopen), p_vfile);
            return FAIL;
        }
      }
--- 3625,3631 ----
        verbose_fd = mch_fopen((char *)p_vfile, "a");
        if (verbose_fd == NULL)
        {
!           semsg(_(e_cant_open_file_str), p_vfile);
            return FAIL;
        }
      }
*** ../vim-8.2.3966/src/misc1.c 2021-12-27 17:21:38.012449123 +0000
--- src/misc1.c 2022-01-01 13:17:22.907609716 +0000
***************
*** 1262,1268 ****
            if (!mch_chdir((char *)var) && mch_dirname(IObuff, IOSIZE) == OK)
                var = IObuff;
            if (mch_chdir((char *)NameBuff) != 0)
!               emsg(_(e_prev_dir));
        }
  #endif
        homedir = vim_strsave(var);
--- 1262,1268 ----
            if (!mch_chdir((char *)var) && mch_dirname(IObuff, IOSIZE) == OK)
                var = IObuff;
            if (mch_chdir((char *)NameBuff) != 0)
!               emsg(_(e_cannot_go_back_to_previous_directory));
        }
  #endif
        homedir = vim_strsave(var);
***************
*** 2280,2286 ****
      // get a name for the temp file
      if ((tempname = vim_tempname('o', FALSE)) == NULL)
      {
!       emsg(_(e_notmp));
        return NULL;
      }
  
--- 2280,2286 ----
      // get a name for the temp file
      if ((tempname = vim_tempname('o', FALSE)) == NULL)
      {
!       emsg(_(e_cant_get_temp_file_name));
        return NULL;
      }
  
***************
*** 2311,2317 ****
  
      if (fd == NULL)
      {
!       semsg(_(e_notopen), tempname);
        goto done;
      }
  
--- 2311,2317 ----
  
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), tempname);
        goto done;
      }
  
***************
*** 2331,2337 ****
  #endif
      if (i != len)
      {
!       semsg(_(e_notread), tempname);
        VIM_CLEAR(buffer);
      }
      else if (ret_len == NULL)
--- 2331,2337 ----
  #endif
      if (i != len)
      {
!       semsg(_(e_cant_read_file_str), tempname);
        VIM_CLEAR(buffer);
      }
      else if (ret_len == NULL)
***************
*** 2385,2398 ****
         */
        if ((infile = vim_tempname('i', TRUE)) == NULL)
        {
!           emsg(_(e_notmp));
            goto errret;
        }
  
        fd = mch_fopen((char *)infile, WRITEBIN);
        if (fd == NULL)
        {
!           semsg(_(e_notopen), infile);
            goto errret;
        }
        if (argvars[1].v_type == VAR_NUMBER)
--- 2385,2398 ----
         */
        if ((infile = vim_tempname('i', TRUE)) == NULL)
        {
!           emsg(_(e_cant_get_temp_file_name));
            goto errret;
        }
  
        fd = mch_fopen((char *)infile, WRITEBIN);
        if (fd == NULL)
        {
!           semsg(_(e_cant_open_file_str), infile);
            goto errret;
        }
        if (argvars[1].v_type == VAR_NUMBER)
*** ../vim-8.2.3966/src/option.c        2021-12-31 22:48:56.587368898 +0000
--- src/option.c        2022-01-01 13:15:30.287757581 +0000
***************
*** 3326,3332 ****
  
      if (curbuf->b_p_sw < 0)
      {
!       errmsg = e_positive;
  #ifdef FEAT_VARTABS
        // Use the first 'vartabstop' value, or 'tabstop' if vts isn't in use.
        curbuf->b_p_sw = tabstop_count(curbuf->b_p_vts_array) > 0
--- 3326,3332 ----
  
      if (curbuf->b_p_sw < 0)
      {
!       errmsg = e_argument_must_be_positive;
  #ifdef FEAT_VARTABS
        // Use the first 'vartabstop' value, or 'tabstop' if vts isn't in use.
        curbuf->b_p_sw = tabstop_count(curbuf->b_p_vts_array) > 0
***************
*** 3345,3351 ****
        // 'winheight' and 'helpheight'
        if (p_wh < 1)
        {
!           errmsg = e_positive;
            p_wh = 1;
        }
        if (p_wmh > p_wh)
--- 3345,3351 ----
        // 'winheight' and 'helpheight'
        if (p_wh < 1)
        {
!           errmsg = e_argument_must_be_positive;
            p_wh = 1;
        }
        if (p_wmh > p_wh)
***************
*** 3355,3361 ****
        }
        if (p_hh < 0)
        {
!           errmsg = e_positive;
            p_hh = 0;
        }
  
--- 3355,3361 ----
        }
        if (p_hh < 0)
        {
!           errmsg = e_argument_must_be_positive;
            p_hh = 0;
        }
  
***************
*** 3373,3379 ****
        // 'winminheight'
        if (p_wmh < 0)
        {
!           errmsg = e_positive;
            p_wmh = 0;
        }
        if (p_wmh > p_wh)
--- 3373,3379 ----
        // 'winminheight'
        if (p_wmh < 0)
        {
!           errmsg = e_argument_must_be_positive;
            p_wmh = 0;
        }
        if (p_wmh > p_wh)
***************
*** 3388,3394 ****
        // 'winwidth'
        if (p_wiw < 1)
        {
!           errmsg = e_positive;
            p_wiw = 1;
        }
        if (p_wmw > p_wiw)
--- 3388,3394 ----
        // 'winwidth'
        if (p_wiw < 1)
        {
!           errmsg = e_argument_must_be_positive;
            p_wiw = 1;
        }
        if (p_wmw > p_wiw)
***************
*** 3406,3412 ****
        // 'winminwidth'
        if (p_wmw < 0)
        {
!           errmsg = e_positive;
            p_wmw = 0;
        }
        if (p_wmw > p_wiw)
--- 3406,3412 ----
        // 'winminwidth'
        if (p_wmw < 0)
        {
!           errmsg = e_argument_must_be_positive;
            p_wmw = 0;
        }
        if (p_wmw > p_wiw)
***************
*** 3466,3472 ****
      {
        if (curwin->w_p_fdc < 0)
        {
!           errmsg = e_positive;
            curwin->w_p_fdc = 0;
        }
        else if (curwin->w_p_fdc > 12)
--- 3466,3472 ----
      {
        if (curwin->w_p_fdc < 0)
        {
!           errmsg = e_argument_must_be_positive;
            curwin->w_p_fdc = 0;
        }
        else if (curwin->w_p_fdc > 12)
***************
*** 3552,3558 ****
      {
        if (p_titlelen < 0)
        {
!           errmsg = e_positive;
            p_titlelen = 85;
        }
        if (starting != NO_SCREEN && old_value != p_titlelen)
--- 3552,3558 ----
      {
        if (p_titlelen < 0)
        {
!           errmsg = e_argument_must_be_positive;
            p_titlelen = 85;
        }
        if (starting != NO_SCREEN && old_value != p_titlelen)
***************
*** 3564,3570 ****
      {
        if (p_ch < 1)
        {
!           errmsg = e_positive;
            p_ch = 1;
        }
        if (p_ch > Rows - min_rows() + 1)
--- 3564,3570 ----
      {
        if (p_ch < 1)
        {
!           errmsg = e_argument_must_be_positive;
            p_ch = 1;
        }
        if (p_ch > Rows - min_rows() + 1)
***************
*** 3585,3591 ****
      {
        if (p_uc < 0)
        {
!           errmsg = e_positive;
            p_uc = 100;
        }
        if (p_uc && !old_value)
--- 3585,3591 ----
      {
        if (p_uc < 0)
        {
!           errmsg = e_argument_must_be_positive;
            p_uc = 100;
        }
        if (p_uc && !old_value)
***************
*** 3596,3602 ****
      {
        if (curwin->w_p_cole < 0)
        {
!           errmsg = e_positive;
            curwin->w_p_cole = 0;
        }
        else if (curwin->w_p_cole > 3)
--- 3596,3602 ----
      {
        if (curwin->w_p_cole < 0)
        {
!           errmsg = e_argument_must_be_positive;
            curwin->w_p_cole = 0;
        }
        else if (curwin->w_p_cole > 3)
***************
*** 3642,3648 ****
      {
        if (curwin->w_p_nuw < 1)
        {
!           errmsg = e_positive;
            curwin->w_p_nuw = 1;
        }
        if (curwin->w_p_nuw > 20)
--- 3642,3648 ----
      {
        if (curwin->w_p_nuw < 1)
        {
!           errmsg = e_argument_must_be_positive;
            curwin->w_p_nuw = 1;
        }
        if (curwin->w_p_nuw > 20)
***************
*** 3658,3664 ****
      {
        if (curbuf->b_p_tw < 0)
        {
!           errmsg = e_positive;
            curbuf->b_p_tw = 0;
        }
  #ifdef FEAT_SYN_HL
--- 3658,3664 ----
      {
        if (curbuf->b_p_tw < 0)
        {
!           errmsg = e_argument_must_be_positive;
            curbuf->b_p_tw = 0;
        }
  #ifdef FEAT_SYN_HL
***************
*** 3726,3737 ****
  
      if (curbuf->b_p_ts <= 0)
      {
!       errmsg = e_positive;
        curbuf->b_p_ts = 8;
      }
      if (p_tm < 0)
      {
!       errmsg = e_positive;
        p_tm = 0;
      }
      if ((curwin->w_p_scr <= 0
--- 3726,3737 ----
  
      if (curbuf->b_p_ts <= 0)
      {
!       errmsg = e_argument_must_be_positive;
        curbuf->b_p_ts = 8;
      }
      if (p_tm < 0)
      {
!       errmsg = e_argument_must_be_positive;
        p_tm = 0;
      }
      if ((curwin->w_p_scr <= 0
***************
*** 3754,3760 ****
      }
      if (p_hi < 0)
      {
!       errmsg = e_positive;
        p_hi = 0;
      }
      else if (p_hi > 10000)
--- 3754,3760 ----
      }
      if (p_hi < 0)
      {
!       errmsg = e_argument_must_be_positive;
        p_hi = 0;
      }
      else if (p_hi > 10000)
***************
*** 3769,3775 ****
      }
      if (p_report < 0)
      {
!       errmsg = e_positive;
        p_report = 1;
      }
      if ((p_sj < -100 || p_sj >= Rows) && full_screen)
--- 3769,3775 ----
      }
      if (p_report < 0)
      {
!       errmsg = e_argument_must_be_positive;
        p_report = 1;
      }
      if ((p_sj < -100 || p_sj >= Rows) && full_screen)
***************
*** 3784,3812 ****
      }
      if (p_so < 0 && full_screen)
      {
!       errmsg = e_positive;
        p_so = 0;
      }
      if (p_siso < 0 && full_screen)
      {
!       errmsg = e_positive;
        p_siso = 0;
      }
  #ifdef FEAT_CMDWIN
      if (p_cwh < 1)
      {
!       errmsg = e_positive;
        p_cwh = 1;
      }
  #endif
      if (p_ut < 0)
      {
!       errmsg = e_positive;
        p_ut = 2000;
      }
      if (p_ss < 0)
      {
!       errmsg = e_positive;
        p_ss = 0;
      }
  
--- 3784,3812 ----
      }
      if (p_so < 0 && full_screen)
      {
!       errmsg = e_argument_must_be_positive;
        p_so = 0;
      }
      if (p_siso < 0 && full_screen)
      {
!       errmsg = e_argument_must_be_positive;
        p_siso = 0;
      }
  #ifdef FEAT_CMDWIN
      if (p_cwh < 1)
      {
!       errmsg = e_argument_must_be_positive;
        p_cwh = 1;
      }
  #endif
      if (p_ut < 0)
      {
!       errmsg = e_argument_must_be_positive;
        p_ut = 2000;
      }
      if (p_ss < 0)
      {
!       errmsg = e_argument_must_be_positive;
        p_ss = 0;
      }
  
*** ../vim-8.2.3966/src/optionstr.c     2021-12-31 22:48:56.587368898 +0000
--- src/optionstr.c     2022-01-01 12:45:47.541739973 +0000
***************
*** 380,386 ****
        idx = findoption(name);
        if (idx < 0)    // not found (should not happen)
        {
!           semsg(_(e_intern2), "set_string_option_direct()");
            siemsg(_("For option %s"), name);
            return;
        }
--- 380,386 ----
        idx = findoption(name);
        if (idx < 0)    // not found (should not happen)
        {
!           semsg(_(e_internal_error_str), "set_string_option_direct()");
            siemsg(_("For option %s"), name);
            return;
        }
*** ../vim-8.2.3966/src/os_mswin.c      2021-12-29 18:16:18.361794199 +0000
--- src/os_mswin.c      2022-01-01 13:04:42.256398438 +0000
***************
*** 892,898 ****
  
      if (!fRunTimeLinkSuccess)
      {
!       semsg(_(e_libcall), funcname);
        return FAIL;
      }
  
--- 892,898 ----
  
      if (!fRunTimeLinkSuccess)
      {
!       semsg(_(e_library_call_failed_for_str), funcname);
        return FAIL;
      }
  
***************
*** 2388,2394 ****
      if (target == 0)
      {
        if (!silent)
!           semsg(_(e_noserver), name);
        return -1;
      }
  
--- 2388,2394 ----
      if (target == 0)
      {
        if (!silent)
!           semsg(_(e_no_registered_server_named_str), name);
        return -1;
      }
  
*** ../vim-8.2.3966/src/os_unix.c       2021-12-29 19:41:42.446404689 +0000
--- src/os_unix.c       2022-01-01 13:17:24.967606951 +0000
***************
*** 2702,2708 ****
  #endif
                l = mch_chdir((char *)olddir);
            if (l != 0)
!               emsg(_(e_prev_dir));
        }
  #ifdef HAVE_FCHDIR
        if (fd >= 0)
--- 2702,2708 ----
  #endif
                l = mch_chdir((char *)olddir);
            if (l != 0)
!               emsg(_(e_cannot_go_back_to_previous_directory));
        }
  #ifdef HAVE_FCHDIR
        if (fd >= 0)
***************
*** 5528,5534 ****
        fd_in[0] = mch_open((char *)fname, O_RDONLY, 0);
        if (fd_in[0] < 0)
        {
!           semsg(_(e_notopen), fname);
            goto failed;
        }
      }
--- 5528,5534 ----
        fd_in[0] = mch_open((char *)fname, O_RDONLY, 0);
        if (fd_in[0] < 0)
        {
!           semsg(_(e_cant_open_file_str), fname);
            goto failed;
        }
      }
***************
*** 5546,5552 ****
        fd_out[1] = mch_open((char *)fname, O_WRONLY | O_CREAT | O_TRUNC, 0644);
        if (fd_out[1] < 0)
        {
!           semsg(_(e_notopen), fname);
            goto failed;
        }
      }
--- 5546,5552 ----
        fd_out[1] = mch_open((char *)fname, O_WRONLY | O_CREAT | O_TRUNC, 0644);
        if (fd_out[1] < 0)
        {
!           semsg(_(e_cant_open_file_str), fname);
            goto failed;
        }
      }
***************
*** 5560,5566 ****
        fd_err[1] = mch_open((char *)fname, O_WRONLY | O_CREAT | O_TRUNC, 0600);
        if (fd_err[1] < 0)
        {
!           semsg(_(e_notopen), fname);
            goto failed;
        }
      }
--- 5560,5566 ----
        fd_err[1] = mch_open((char *)fname, O_WRONLY | O_CREAT | O_TRUNC, 0600);
        if (fd_err[1] < 0)
        {
!           semsg(_(e_cant_open_file_str), fname);
            goto failed;
        }
      }
***************
*** 6627,6633 ****
       */
      if ((tempname = vim_tempname('o', FALSE)) == NULL)
      {
!       emsg(_(e_notmp));
        return FAIL;
      }
  
--- 6627,6633 ----
       */
      if ((tempname = vim_tempname('o', FALSE)) == NULL)
      {
!       emsg(_(e_cant_get_temp_file_name));
        return FAIL;
      }
  
***************
*** 6888,6894 ****
      if (i != (int)len)
      {
        // unexpected read error
!       semsg(_(e_notread), tempname);
        vim_free(tempname);
        vim_free(buffer);
        return FAIL;
--- 6888,6894 ----
      if (i != (int)len)
      {
        // unexpected read error
!       semsg(_(e_cant_read_file_str), tempname);
        vim_free(tempname);
        vim_free(buffer);
        return FAIL;
***************
*** 7594,7600 ****
  
      if (!success)
      {
!       semsg(_(e_libcall), funcname);
        return FAIL;
      }
  
--- 7594,7600 ----
  
      if (!success)
      {
!       semsg(_(e_library_call_failed_for_str), funcname);
        return FAIL;
      }
  
*** ../vim-8.2.3966/src/os_win32.c      2021-12-27 17:21:38.016449116 +0000
--- src/os_win32.c      2022-01-01 13:08:11.324246440 +0000
***************
*** 716,722 ****
        if (p_verbose > 0)
        {
            verbose_enter();
!           semsg(_(e_loadlib), GETTEXT_DLL, GetWin32Error());
            verbose_leave();
        }
        return 0;
--- 716,722 ----
        if (p_verbose > 0)
        {
            verbose_enter();
!           semsg(_(e_could_not_load_library_str_str), GETTEXT_DLL, 
GetWin32Error());
            verbose_leave();
        }
        return 0;
***************
*** 731,737 ****
            if (p_verbose > 0)
            {
                verbose_enter();
!               semsg(_(e_loadfunc), libintl_entry[i].name);
                verbose_leave();
            }
            return 0;
--- 731,737 ----
            if (p_verbose > 0)
            {
                verbose_enter();
!               semsg(_(e_could_not_load_library_function_str), 
libintl_entry[i].name);
                verbose_leave();
            }
            return 0;
***************
*** 5311,5317 ****
                &saAttr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL);
        if (ifd[0] == INVALID_HANDLE_VALUE)
        {
!           semsg(_(e_notopen), fname);
            goto failed;
        }
      }
--- 5311,5317 ----
                &saAttr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL);
        if (ifd[0] == INVALID_HANDLE_VALUE)
        {
!           semsg(_(e_cant_open_file_str), fname);
            goto failed;
        }
      }
***************
*** 5329,5335 ****
                &saAttr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL);
        if (ofd[1] == INVALID_HANDLE_VALUE)
        {
!           semsg(_(e_notopen), fname);
            goto failed;
        }
      }
--- 5329,5335 ----
                &saAttr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL);
        if (ofd[1] == INVALID_HANDLE_VALUE)
        {
!           semsg(_(e_cant_open_file_str), fname);
            goto failed;
        }
      }
***************
*** 5347,5353 ****
                &saAttr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL);
        if (efd[1] == INVALID_HANDLE_VALUE)
        {
!           semsg(_(e_notopen), fname);
            goto failed;
        }
      }
--- 5347,5353 ----
                &saAttr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL);
        if (efd[1] == INVALID_HANDLE_VALUE)
        {
!           semsg(_(e_cant_open_file_str), fname);
            goto failed;
        }
      }
*** ../vim-8.2.3966/src/popupwin.c      2021-12-31 22:48:56.587368898 +0000
--- src/popupwin.c      2022-01-01 13:32:02.570313764 +0000
***************
*** 86,92 ****
      if (di != NULL)
      {
        if (di->di_tv.v_type != VAR_LIST)
!           emsg(_(e_listreq));
        else
        {
            list_T      *list = di->di_tv.vval.v_list;
--- 86,92 ----
      if (di != NULL)
      {
        if (di->di_tv.v_type != VAR_LIST)
!           emsg(_(e_list_required));
        else
        {
            list_T      *list = di->di_tv.vval.v_list;
***************
*** 755,761 ****
      if (di != NULL)
      {
        if (di->di_tv.v_type != VAR_LIST || di->di_tv.vval.v_list == NULL)
!           emsg(_(e_listreq));
        else
        {
            list_T      *list = di->di_tv.vval.v_list;
--- 755,761 ----
      if (di != NULL)
      {
        if (di->di_tv.v_type != VAR_LIST || di->di_tv.vval.v_list == NULL)
!           emsg(_(e_list_required));
        else
        {
            list_T      *list = di->di_tv.vval.v_list;
***************
*** 787,793 ****
      if (di != NULL)
      {
        if (di->di_tv.v_type != VAR_LIST)
!           emsg(_(e_listreq));
        else
        {
            list_T      *list = di->di_tv.vval.v_list;
--- 787,793 ----
      if (di != NULL)
      {
        if (di->di_tv.v_type != VAR_LIST)
!           emsg(_(e_list_required));
        else
        {
            list_T      *list = di->di_tv.vval.v_list;
***************
*** 1010,1016 ****
      {
        if (li->li_tv.v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return;
        }
        dict = li->li_tv.vval.v_dict;
--- 1010,1016 ----
      {
        if (li->li_tv.v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
        dict = li->li_tv.vval.v_dict;
***************
*** 1033,1039 ****
        {
            if (di->di_tv.v_type != VAR_LIST)
            {
!               emsg(_(e_listreq));
                return;
            }
            plist = di->di_tv.vval.v_list;
--- 1033,1039 ----
        {
            if (di->di_tv.v_type != VAR_LIST)
            {
!               emsg(_(e_list_required));
                return;
            }
            plist = di->di_tv.vval.v_list;
***************
*** 1043,1049 ****
                {
                    if (pli->li_tv.v_type != VAR_DICT)
                    {
!                       emsg(_(e_dictreq));
                        return;
                    }
                    dict = pli->li_tv.vval.v_dict;
--- 1043,1049 ----
                {
                    if (pli->li_tv.v_type != VAR_DICT)
                    {
!                       emsg(_(e_dictionary_required));
                        return;
                    }
                    dict = pli->li_tv.vval.v_dict;
***************
*** 1898,1904 ****
        }
        if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
        {
!           emsg(_(e_dictreq));
            return NULL;
        }
        d = argvars[1].vval.v_dict;
--- 1898,1904 ----
        }
        if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
        {
!           emsg(_(e_dictionary_required));
            return NULL;
        }
        d = argvars[1].vval.v_dict;
***************
*** 2800,2806 ****
  
      if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
      {
!       emsg(_(e_dictreq));
        return;
      }
      dict = argvars[1].vval.v_dict;
--- 2800,2806 ----
  
      if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
      dict = argvars[1].vval.v_dict;
***************
*** 2835,2841 ****
  
      if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
      {
!       emsg(_(e_dictreq));
        return;
      }
      dict = argvars[1].vval.v_dict;
--- 2835,2841 ----
  
      if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
      dict = argvars[1].vval.v_dict;
*** ../vim-8.2.3966/src/profiler.c      2021-08-09 18:59:01.442811242 +0100
--- src/profiler.c      2022-01-01 13:08:14.784243352 +0000
***************
*** 921,927 ****
      {
        fd = mch_fopen((char *)profile_fname, "w");
        if (fd == NULL)
!           semsg(_(e_notopen), profile_fname);
        else
        {
            script_dump_profile(fd);
--- 921,927 ----
      {
        fd = mch_fopen((char *)profile_fname, "w");
        if (fd == NULL)
!           semsg(_(e_cant_open_file_str), profile_fname);
        else
        {
            script_dump_profile(fd);
*** ../vim-8.2.3966/src/quickfix.c      2021-12-31 22:48:56.587368898 +0000
--- src/quickfix.c      2022-01-01 14:16:27.528824877 +0000
***************
*** 2202,2208 ****
        if (qi == NULL)
        {
            if (print_emsg)
!               emsg(_(e_loclist));
            return NULL;
        }
      }
--- 2202,2208 ----
        if (qi == NULL)
        {
            if (print_emsg)
!               emsg(_(e_no_location_list));
            return NULL;
        }
      }
***************
*** 3819,3825 ****
      {
        if (qi == NULL)
        {
!           emsg(_(e_loclist));
            return;
        }
  
--- 3819,3825 ----
      {
        if (qi == NULL)
        {
!           emsg(_(e_no_location_list));
            return;
        }
  
***************
*** 4891,4897 ****
      {
        name = vim_tempname('e', FALSE);
        if (name == NULL)
!           emsg(_(e_notmp));
        return name;
      }
  
--- 4891,4897 ----
      {
        name = vim_tempname('e', FALSE);
        if (name == NULL)
!           emsg(_(e_cant_get_temp_file_name));
        return name;
      }
  
***************
*** 6125,6131 ****
      if ((get_arglist_exp(p, &args->fcount, &args->fnames, TRUE) == FAIL) ||
        args->fcount == 0)
      {
!       emsg(_(e_nomatch));
        return FAIL;
      }
  
--- 6125,6131 ----
      if ((get_arglist_exp(p, &args->fcount, &args->fnames, TRUE) == FAIL) ||
        args->fcount == 0)
      {
!       emsg(_(e_no_match));
        return FAIL;
      }
  
***************
*** 6394,6400 ****
                    first_match_buf, target_dir);
      }
      else
!       semsg(_(e_nomatch2), args.spat);
  
      decr_quickfix_busy();
  
--- 6394,6400 ----
                    first_match_buf, target_dir);
      }
      else
!       semsg(_(e_no_match_str_2), args.spat);
  
      decr_quickfix_busy();
  
***************
*** 8293,8299 ****
      if (!qf_list_empty(qf_get_curlist(qi)))
        qf_jump(qi, 0, 0, FALSE);
      else
!       semsg(_(e_nomatch2), eap->arg);
  
      decr_quickfix_busy();
  
--- 8293,8299 ----
      if (!qf_list_empty(qf_get_curlist(qi)))
        qf_jump(qi, 0, 0, FALSE);
      else
!       semsg(_(e_no_match_str_2), eap->arg);
  
      decr_quickfix_busy();
  
***************
*** 8336,8342 ****
                        qf_get_properties(wp, d, rettv->vval.v_dict);
                }
                else
!                   emsg(_(e_dictreq));
            }
      }
  }
--- 8336,8342 ----
                        qf_get_properties(wp, d, rettv->vval.v_dict);
                }
                else
!                   emsg(_(e_dictionary_required));
            }
      }
  }
***************
*** 8397,8403 ****
  
  # ifdef FEAT_QUICKFIX
      if (list_arg->v_type != VAR_LIST)
!       emsg(_(e_listreq));
      else if (recursive != 0)
        emsg(_(e_au_recursive));
      else
--- 8397,8403 ----
  
  # ifdef FEAT_QUICKFIX
      if (list_arg->v_type != VAR_LIST)
!       emsg(_(e_list_required));
      else if (recursive != 0)
        emsg(_(e_au_recursive));
      else
***************
*** 8420,8426 ****
        else if (action_arg->v_type == VAR_UNKNOWN)
            action = ' ';
        else
!           emsg(_(e_stringreq));
  
        if (action_arg->v_type != VAR_UNKNOWN
                && what_arg->v_type != VAR_UNKNOWN)
--- 8420,8426 ----
        else if (action_arg->v_type == VAR_UNKNOWN)
            action = ' ';
        else
!           emsg(_(e_string_required));
  
        if (action_arg->v_type != VAR_UNKNOWN
                && what_arg->v_type != VAR_UNKNOWN)
***************
*** 8429,8435 ****
                what = what_arg->vval.v_dict;
            else
            {
!               emsg(_(e_dictreq));
                valid_dict = FALSE;
            }
        }
--- 8429,8435 ----
                what = what_arg->vval.v_dict;
            else
            {
!               emsg(_(e_dictionary_required));
                valid_dict = FALSE;
            }
        }
*** ../vim-8.2.3966/src/scriptfile.c    2021-12-31 22:48:56.587368898 +0000
--- src/scriptfile.c    2022-01-01 13:08:17.572240860 +0000
***************
*** 983,989 ****
  
      // ":source" read ex commands
      else if (do_source(fname, FALSE, DOSO_NONE, NULL) == FAIL)
!       semsg(_(e_notopen), fname);
  }
  
  /*
--- 983,989 ----
  
      // ":source" read ex commands
      else if (do_source(fname, FALSE, DOSO_NONE, NULL) == FAIL)
!       semsg(_(e_cant_open_file_str), fname);
  }
  
  /*
*** ../vim-8.2.3966/src/search.c        2021-12-31 22:48:56.591368895 +0000
--- src/search.c        2022-01-01 13:32:09.658299189 +0000
***************
*** 1124,1130 ****
        else if ((options & SEARCH_MSG) == SEARCH_MSG)
        {
            if (p_ws)
!               semsg(_(e_patnotf2), mr_pattern);
            else if (lnum == 0)
                semsg(_("E384: search hit TOP without match for: %s"),
                                                                  mr_pattern);
--- 1124,1130 ----
        else if ((options & SEARCH_MSG) == SEARCH_MSG)
        {
            if (p_ws)
!               semsg(_(e_pattern_not_found_str), mr_pattern);
            else if (lnum == 0)
                semsg(_("E384: search hit TOP without match for: %s"),
                                                                  mr_pattern);
***************
*** 4121,4127 ****
  
        if (argvars[0].v_type != VAR_DICT || argvars[0].vval.v_dict == NULL)
        {
!           emsg(_(e_dictreq));
            return;
        }
        dict = argvars[0].vval.v_dict;
--- 4121,4127 ----
  
        if (argvars[0].v_type != VAR_DICT || argvars[0].vval.v_dict == NULL)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
        dict = argvars[0].vval.v_dict;
***************
*** 4824,4830 ****
  
        if (argvars[2].v_type != VAR_DICT || argvars[2].vval.v_dict == NULL)
        {
!           emsg(_(e_dictreq));
            return;
        }
  
--- 4824,4830 ----
  
        if (argvars[2].v_type != VAR_DICT || argvars[2].vval.v_dict == NULL)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
  
*** ../vim-8.2.3966/src/session.c       2021-12-05 22:19:22.836153466 +0000
--- src/session.c       2022-01-01 13:17:26.979604250 +0000
***************
*** 1298,1304 ****
                        || ((ssop_flags & SSOP_CURDIR) && globaldir != NULL)))
                    {
                        if (mch_chdir((char *)dirnow) != 0)
!                           emsg(_(e_prev_dir));
                        shorten_fnames(TRUE);
                    }
                    vim_free(dirnow);
--- 1298,1304 ----
                        || ((ssop_flags & SSOP_CURDIR) && globaldir != NULL)))
                    {
                        if (mch_chdir((char *)dirnow) != 0)
!                           emsg(_(e_cannot_go_back_to_previous_directory));
                        shorten_fnames(TRUE);
                    }
                    vim_free(dirnow);
*** ../vim-8.2.3966/src/sign.c  2021-12-31 22:48:56.591368895 +0000
--- src/sign.c  2022-01-01 13:32:17.178283770 +0000
***************
*** 2314,2320 ****
        if (li->li_tv.v_type == VAR_DICT)
            retval = sign_define_from_dict(NULL, li->li_tv.vval.v_dict);
        else
!           emsg(_(e_dictreq));
        list_append_number(retlist, retval);
      }
  }
--- 2314,2320 ----
        if (li->li_tv.v_type == VAR_DICT)
            retval = sign_define_from_dict(NULL, li->li_tv.vval.v_dict);
        else
!           emsg(_(e_dictionary_required));
        list_append_number(retlist, retval);
      }
  }
***************
*** 2351,2357 ****
  
      if (argvars[1].v_type != VAR_UNKNOWN && argvars[1].v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return;
      }
  
--- 2351,2357 ----
  
      if (argvars[1].v_type != VAR_UNKNOWN && argvars[1].v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
  
***************
*** 2414,2420 ****
            if (argvars[1].v_type != VAR_DICT ||
                                ((dict = argvars[1].vval.v_dict) == NULL))
            {
!               emsg(_(e_dictreq));
                return;
            }
            if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL)
--- 2414,2420 ----
            if (argvars[1].v_type != VAR_DICT ||
                                ((dict = argvars[1].vval.v_dict) == NULL))
            {
!               emsg(_(e_dictionary_required));
                return;
            }
            if ((di = dict_find(dict, (char_u *)"lnum", -1)) != NULL)
***************
*** 2644,2650 ****
            && (argvars[4].v_type != VAR_DICT
                || ((dict = argvars[4].vval.v_dict) == NULL)))
      {
!       emsg(_(e_dictreq));
        return;
      }
  
--- 2644,2650 ----
            && (argvars[4].v_type != VAR_DICT
                || ((dict = argvars[4].vval.v_dict) == NULL)))
      {
!       emsg(_(e_dictionary_required));
        return;
      }
  
***************
*** 2669,2675 ****
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_listreq));
        return;
      }
  
--- 2669,2675 ----
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_list_required));
        return;
      }
  
***************
*** 2681,2687 ****
            sign_id = sign_place_from_dict(NULL, NULL, NULL, NULL,
                                                li->li_tv.vval.v_dict);
        else
!           emsg(_(e_dictreq));
        list_append_number(rettv->vval.v_list, sign_id);
      }
  }
--- 2681,2687 ----
            sign_id = sign_place_from_dict(NULL, NULL, NULL, NULL,
                                                li->li_tv.vval.v_dict);
        else
!           emsg(_(e_dictionary_required));
        list_append_number(rettv->vval.v_list, sign_id);
      }
  }
***************
*** 2874,2880 ****
      {
        if (argvars[1].v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return;
        }
        dict = argvars[1].vval.v_dict;
--- 2874,2880 ----
      {
        if (argvars[1].v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
        dict = argvars[1].vval.v_dict;
***************
*** 2900,2906 ****
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_listreq));
        return;
      }
  
--- 2900,2906 ----
  
      if (argvars[0].v_type != VAR_LIST)
      {
!       emsg(_(e_list_required));
        return;
      }
  
***************
*** 2910,2916 ****
        if (li->li_tv.v_type == VAR_DICT)
            retval = sign_unplace_from_dict(NULL, li->li_tv.vval.v_dict);
        else
!           emsg(_(e_dictreq));
        list_append_number(rettv->vval.v_list, retval);
      }
  }
--- 2910,2916 ----
        if (li->li_tv.v_type == VAR_DICT)
            retval = sign_unplace_from_dict(NULL, li->li_tv.vval.v_dict);
        else
!           emsg(_(e_dictionary_required));
        list_append_number(rettv->vval.v_list, retval);
      }
  }
*** ../vim-8.2.3966/src/spell.c 2021-12-31 22:48:56.591368895 +0000
--- src/spell.c 2022-01-01 12:49:08.041367860 +0000
***************
*** 1246,1252 ****
      if (!wp->w_p_spell || *wp->w_s->b_p_spl == NUL
                                         || wp->w_s->b_langp.ga_len == 0)
      {
!       emsg(_(e_no_spell));
        return TRUE;
      }
      return FALSE;
--- 1246,1252 ----
      if (!wp->w_p_spell || *wp->w_s->b_p_spl == NUL
                                         || wp->w_s->b_langp.ga_len == 0)
      {
!       emsg(_(e_spell_checking_is_not_possible));
        return TRUE;
      }
      return FALSE;
*** ../vim-8.2.3966/src/spellfile.c     2021-12-31 22:48:56.591368895 +0000
--- src/spellfile.c     2022-01-01 13:08:26.812232519 +0000
***************
*** 365,375 ****
      if (fd == NULL)
      {
        if (!silent)
!           semsg(_(e_notopen), fname);
        else if (p_verbose > 2)
        {
            verbose_enter();
!           smsg((const char *)e_notopen, fname);
            verbose_leave();
        }
        goto endFAIL;
--- 365,375 ----
      if (fd == NULL)
      {
        if (!silent)
!           semsg(_(e_cant_open_file_str), fname);
        else if (p_verbose > 2)
        {
            verbose_enter();
!           smsg((const char *)e_cant_open_file_str, fname);
            verbose_leave();
        }
        goto endFAIL;
***************
*** 2226,2232 ****
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_notopen), fname);
        return NULL;
      }
  
--- 2226,2232 ----
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), fname);
        return NULL;
      }
  
***************
*** 3520,3526 ****
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_notopen), fname);
        return FAIL;
      }
  
--- 3520,3526 ----
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), fname);
        return FAIL;
      }
  
***************
*** 4104,4110 ****
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_notopen), fname);
        return FAIL;
      }
  
--- 4104,4110 ----
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), fname);
        return FAIL;
      }
  
***************
*** 4873,4879 ****
      fd = mch_fopen((char *)fname, "w");
      if (fd == NULL)
      {
!       semsg(_(e_notopen), fname);
        return FAIL;
      }
  
--- 4873,4879 ----
      fd = mch_fopen((char *)fname, "w");
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), fname);
        return FAIL;
      }
  
***************
*** 5802,5808 ****
      fd = mch_fopen((char *)fname, "w");
      if (fd == NULL)
      {
!       semsg(_(e_notopen), fname);
        return;
      }
  
--- 5802,5808 ----
      fd = mch_fopen((char *)fname, "w");
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), fname);
        return;
      }
  
***************
*** 6316,6322 ****
        }
  
        if (fd == NULL)
!           semsg(_(e_notopen), fname);
        else
        {
            if (what == SPELL_ADD_BAD)
--- 6316,6322 ----
        }
  
        if (fd == NULL)
!           semsg(_(e_cant_open_file_str), fname);
        else
        {
            if (what == SPELL_ADD_BAD)
*** ../vim-8.2.3966/src/spellsuggest.c  2021-12-27 17:21:38.020449109 +0000
--- src/spellsuggest.c  2022-01-01 13:08:30.556229100 +0000
***************
*** 481,487 ****
  
      if (*curwin->w_s->b_p_spl == NUL)
      {
!       emsg(_(e_no_spell));
        return;
      }
  
--- 481,487 ----
  
      if (*curwin->w_s->b_p_spl == NUL)
      {
!       emsg(_(e_spell_checking_is_not_possible));
        return;
      }
  
***************
*** 935,941 ****
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_notopen), fname);
        return;
      }
  
--- 935,941 ----
      fd = mch_fopen((char *)fname, "r");
      if (fd == NULL)
      {
!       semsg(_(e_cant_open_file_str), fname);
        return;
      }
  
*** ../vim-8.2.3966/src/syntax.c        2021-12-31 22:48:56.591368895 +0000
--- src/syntax.c        2022-01-01 13:08:33.548226357 +0000
***************
*** 4796,4802 ****
      curwin->w_s->b_syn_topgrp = sgl_id;
      if (source ? do_source(eap->arg, FALSE, DOSO_NONE, NULL) == FAIL
                                : source_runtime(eap->arg, DIP_ALL) == FAIL)
!       semsg(_(e_notopen), eap->arg);
      curwin->w_s->b_syn_topgrp = prev_toplvl_grp;
      current_syn_inc_tag = prev_syn_inc_tag;
  }
--- 4796,4802 ----
      curwin->w_s->b_syn_topgrp = sgl_id;
      if (source ? do_source(eap->arg, FALSE, DOSO_NONE, NULL) == FAIL
                                : source_runtime(eap->arg, DIP_ALL) == FAIL)
!       semsg(_(e_cant_open_file_str), eap->arg);
      curwin->w_s->b_syn_topgrp = prev_toplvl_grp;
      current_syn_inc_tag = prev_syn_inc_tag;
  }
*** ../vim-8.2.3966/src/tag.c   2021-12-12 16:26:35.868627601 +0000
--- src/tag.c   2022-01-01 13:29:49.418526412 +0000
***************
*** 4358,4364 ****
      {
        if (di->di_tv.v_type != VAR_LIST)
        {
!           emsg(_(e_listreq));
            return FAIL;
        }
        l = di->di_tv.vval.v_list;
--- 4358,4364 ----
      {
        if (di->di_tv.v_type != VAR_LIST)
        {
!           emsg(_(e_list_required));
            return FAIL;
        }
        l = di->di_tv.vval.v_list;
*** ../vim-8.2.3966/src/terminal.c      2021-12-31 22:48:56.591368895 +0000
--- src/terminal.c      2022-01-01 13:32:21.026275899 +0000
***************
*** 4872,4878 ****
  
        if (argvars[2].v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return;
        }
        d = argvars[2].vval.v_dict;
--- 4872,4878 ----
  
        if (argvars[2].v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
        d = argvars[2].vval.v_dict;
***************
*** 4894,4900 ****
  
      if (*fname == NUL || (fd = mch_fopen((char *)fname, WRITEBIN)) == NULL)
      {
!       semsg(_(e_notcreate), *fname == NUL ? (char_u *)_("<empty>") : fname);
        return;
      }
  
--- 4894,4900 ----
  
      if (*fname == NUL || (fd = mch_fopen((char *)fname, WRITEBIN)) == NULL)
      {
!       semsg(_(e_cant_create_file_str), *fname == NUL ? (char_u *)_("<empty>") 
: fname);
        return;
      }
  
***************
*** 5374,5380 ****
      fd1 = mch_fopen((char *)fname1, READBIN);
      if (fd1 == NULL)
      {
!       semsg(_(e_notread), fname1);
        return;
      }
      if (do_diff)
--- 5374,5380 ----
      fd1 = mch_fopen((char *)fname1, READBIN);
      if (fd1 == NULL)
      {
!       semsg(_(e_cant_read_file_str), fname1);
        return;
      }
      if (do_diff)
***************
*** 5383,5389 ****
        if (fd2 == NULL)
        {
            fclose(fd1);
!           semsg(_(e_notread), fname2);
            return;
        }
      }
--- 5383,5389 ----
        if (fd2 == NULL)
        {
            fclose(fd1);
!           semsg(_(e_cant_read_file_str), fname2);
            return;
        }
      }
***************
*** 6346,6352 ****
  
      if (argvars[1].v_type != VAR_LIST || argvars[1].vval.v_list == NULL)
      {
!       emsg(_(e_listreq));
        return;
      }
  
--- 6346,6352 ----
  
      if (argvars[1].v_type != VAR_LIST || argvars[1].vval.v_list == NULL)
      {
!       emsg(_(e_list_required));
        return;
      }
  
***************
*** 6639,6645 ****
                                                conpty_entry[i].name)) == NULL)
        {
            if (verbose)
!               semsg(_(e_loadfunc), conpty_entry[i].name);
            hKerneldll = NULL;
            return FAIL;
        }
--- 6639,6645 ----
                                                conpty_entry[i].name)) == NULL)
        {
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), 
conpty_entry[i].name);
            hKerneldll = NULL;
            return FAIL;
        }
***************
*** 6836,6842 ****
        ch_log(channel, "Opening output file %s", fname);
        term->tl_out_fd = mch_fopen((char *)fname, WRITEBIN);
        if (term->tl_out_fd == NULL)
!           semsg(_(e_notopen), fname);
      }
  
      return OK;
--- 6836,6842 ----
        ch_log(channel, "Opening output file %s", fname);
        term->tl_out_fd = mch_fopen((char *)fname, WRITEBIN);
        if (term->tl_out_fd == NULL)
!           semsg(_(e_cant_open_file_str), fname);
      }
  
      return OK;
***************
*** 6979,6985 ****
      if (!hWinPtyDLL)
      {
        if (verbose)
!           semsg(_(e_loadlib),
                    (*p_winptydll != NUL ? p_winptydll : (char_u *)WINPTY_DLL),
                    GetWin32Error());
        return FAIL;
--- 6979,6985 ----
      if (!hWinPtyDLL)
      {
        if (verbose)
!           semsg(_(e_could_not_load_library_str_str),
                    (*p_winptydll != NUL ? p_winptydll : (char_u *)WINPTY_DLL),
                    GetWin32Error());
        return FAIL;
***************
*** 6991,6997 ****
                                              winpty_entry[i].name)) == NULL)
        {
            if (verbose)
!               semsg(_(e_loadfunc), winpty_entry[i].name);
            hWinPtyDLL = NULL;
            return FAIL;
        }
--- 6991,6997 ----
                                              winpty_entry[i].name)) == NULL)
        {
            if (verbose)
!               semsg(_(e_could_not_load_library_function_str), 
winpty_entry[i].name);
            hWinPtyDLL = NULL;
            return FAIL;
        }
***************
*** 7172,7178 ****
        ch_log(channel, "Opening output file %s", fname);
        term->tl_out_fd = mch_fopen((char *)fname, WRITEBIN);
        if (term->tl_out_fd == NULL)
!           semsg(_(e_notopen), fname);
      }
  
      return OK;
--- 7172,7178 ----
        ch_log(channel, "Opening output file %s", fname);
        term->tl_out_fd = mch_fopen((char *)fname, WRITEBIN);
        if (term->tl_out_fd == NULL)
!           semsg(_(e_cant_open_file_str), fname);
      }
  
      return OK;
*** ../vim-8.2.3966/src/testing.c       2021-12-31 22:48:56.591368895 +0000
--- src/testing.c       2022-01-01 13:10:08.492133783 +0000
***************
*** 433,439 ****
      fd1 = mch_fopen((char *)fname1, READBIN);
      if (fd1 == NULL)
      {
!       vim_snprintf((char *)IObuff, IOSIZE, (char *)e_notread, fname1);
      }
      else
      {
--- 433,439 ----
      fd1 = mch_fopen((char *)fname1, READBIN);
      if (fd1 == NULL)
      {
!       vim_snprintf((char *)IObuff, IOSIZE, (char *)e_cant_read_file_str, 
fname1);
      }
      else
      {
***************
*** 441,447 ****
        if (fd2 == NULL)
        {
            fclose(fd1);
!           vim_snprintf((char *)IObuff, IOSIZE, (char *)e_notread, fname2);
        }
        else
        {
--- 441,447 ----
        if (fd2 == NULL)
        {
            fclose(fd1);
!           vim_snprintf((char *)IObuff, IOSIZE, (char *)e_cant_read_file_str, 
fname2);
        }
        else
        {
*** ../vim-8.2.3966/src/textprop.c      2021-12-31 22:48:56.591368895 +0000
--- src/textprop.c      2022-01-01 14:00:22.135333046 +0000
***************
*** 132,138 ****
  
      if (arg->v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return FAIL;
      }
      if (arg->vval.v_dict == NULL)
--- 132,138 ----
  
      if (arg->v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return FAIL;
      }
      if (arg->vval.v_dict == NULL)
***************
*** 172,178 ****
      }
      if (argvars[2].v_type != VAR_DICT)
      {
!       emsg(_(e_dictreq));
        return;
      }
  
--- 172,178 ----
      }
      if (argvars[2].v_type != VAR_DICT)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
  
***************
*** 328,334 ****
  
      if (argvars[1].vval.v_list == NULL)
      {
!       emsg(_(e_listreq));
        return;
      }
  
--- 328,334 ----
  
      if (argvars[1].vval.v_list == NULL)
      {
!       emsg(_(e_list_required));
        return;
      }
  
***************
*** 350,356 ****
      {
        if (li->li_tv.v_type != VAR_LIST || li->li_tv.vval.v_list == NULL)
        {
!           emsg(_(e_listreq));
            return;
        }
  
--- 350,356 ----
      {
        if (li->li_tv.v_type != VAR_LIST || li->li_tv.vval.v_list == NULL)
        {
!           emsg(_(e_list_required));
            return;
        }
  
***************
*** 732,738 ****
  
      if (argvars[0].v_type != VAR_DICT || argvars[0].vval.v_dict == NULL)
      {
!       emsg(_(e_dictreq));
        return;
      }
      dict = argvars[0].vval.v_dict;
--- 732,738 ----
  
      if (argvars[0].v_type != VAR_DICT || argvars[0].vval.v_dict == NULL)
      {
!       emsg(_(e_dictionary_required));
        return;
      }
      dict = argvars[0].vval.v_dict;
***************
*** 984,990 ****
      {
        if (li->li_tv.v_type != VAR_STRING)
        {
!           emsg(_(e_stringreq));
            goto errret;
        }
        name = li->li_tv.vval.v_string;
--- 984,990 ----
      {
        if (li->li_tv.v_type != VAR_STRING)
        {
!           emsg(_(e_string_required));
            goto errret;
        }
        name = li->li_tv.vval.v_string;
***************
*** 1079,1085 ****
  
        if (argvars[1].v_type != VAR_DICT)
        {
!           emsg(_(e_dictreq));
            return;
        }
        d = argvars[1].vval.v_dict;
--- 1079,1085 ----
  
        if (argvars[1].v_type != VAR_DICT)
        {
!           emsg(_(e_dictionary_required));
            return;
        }
        d = argvars[1].vval.v_dict;
***************
*** 1091,1097 ****
        {
            if (di->di_tv.v_type != VAR_NUMBER)
            {
!               emsg(_(e_numberreq));
                return;
            }
            end_lnum = tv_get_number(&di->di_tv);
--- 1091,1097 ----
        {
            if (di->di_tv.v_type != VAR_NUMBER)
            {
!               emsg(_(e_number_required));
                return;
            }
            end_lnum = tv_get_number(&di->di_tv);
***************
*** 1107,1113 ****
        {
            if (di->di_tv.v_type != VAR_LIST)
            {
!               emsg(_(e_listreq));
                return;
            }
  
--- 1107,1113 ----
        {
            if (di->di_tv.v_type != VAR_LIST)
            {
!               emsg(_(e_list_required));
                return;
            }
  
***************
*** 1123,1129 ****
        {
            if (di->di_tv.v_type != VAR_LIST)
            {
!               emsg(_(e_listreq));
                goto errret;
            }
  
--- 1123,1129 ----
        {
            if (di->di_tv.v_type != VAR_LIST)
            {
!               emsg(_(e_list_required));
                goto errret;
            }
  
*** ../vim-8.2.3966/src/typval.c        2021-12-28 11:24:44.636994380 +0000
--- src/typval.c        2022-01-01 14:03:15.303048545 +0000
***************
*** 1388,1394 ****
        if (tv1->v_type != tv2->v_type)
            emsg(_("E977: Can only compare Blob with Blob"));
        else
!           emsg(_(e_invalblob));
        return FAIL;
      }
      else
--- 1388,1394 ----
        if (tv1->v_type != tv2->v_type)
            emsg(_("E977: Can only compare Blob with Blob"));
        else
!           emsg(_(e_invalid_operation_for_blob));
        return FAIL;
      }
      else
*** ../vim-8.2.3966/src/userfunc.c      2021-12-31 22:48:56.591368895 +0000
--- src/userfunc.c      2022-01-01 14:01:25.451228939 +0000
***************
*** 3271,3277 ****
                        N_("E276: Cannot use function as a method: %s"), name);
                break;
        case FCERR_DELETED:
!               emsg_funcname(e_func_deleted, name);
                break;
        case FCERR_TOOMANY:
                emsg_funcname((char *)e_too_many_arguments_for_function_str,
--- 3271,3277 ----
                        N_("E276: Cannot use function as a method: %s"), name);
                break;
        case FCERR_DELETED:
!               emsg_funcname(e_function_was_deleted_str, name);
                break;
        case FCERR_TOOMANY:
                emsg_funcname((char *)e_too_many_arguments_for_function_str,
***************
*** 4127,4133 ****
            if (!aborting())
            {
                if (!eap->skip && fudi.fd_newkey != NULL)
!                   semsg(_(e_dictkey), fudi.fd_newkey);
                vim_free(fudi.fd_newkey);
                return NULL;
            }
--- 4127,4133 ----
            if (!aborting())
            {
                if (!eap->skip && fudi.fd_newkey != NULL)
!                   semsg(_(e_key_not_present_in_dictionary), fudi.fd_newkey);
                vim_free(fudi.fd_newkey);
                return NULL;
            }
***************
*** 4224,4230 ****
      // In Vim9 script only global functions can be redefined.
      if (vim9script && eap->forceit && !is_global)
      {
!       emsg(_(e_nobang));
        goto ret_free;
      }
  
--- 4224,4230 ----
      // In Vim9 script only global functions can be redefined.
      if (vim9script && eap->forceit && !is_global)
      {
!       emsg(_(e_no_bang_allowed));
        goto ret_free;
      }
  
***************
*** 5145,5151 ****
      if (fudi.fd_newkey != NULL)
      {
        // Still need to give an error message for missing key.
!       semsg(_(e_dictkey), fudi.fd_newkey);
        vim_free(fudi.fd_newkey);
      }
      if (tofree == NULL)
--- 5145,5151 ----
      if (fudi.fd_newkey != NULL)
      {
        // Still need to give an error message for missing key.
!       semsg(_(e_key_not_present_in_dictionary), fudi.fd_newkey);
        vim_free(fudi.fd_newkey);
      }
      if (tofree == NULL)
*** ../vim-8.2.3966/src/vim9execute.c   2021-12-31 22:48:56.595368891 +0000
--- src/vim9execute.c   2022-01-01 14:04:16.198948640 +0000
***************
*** 271,277 ****
      if (dfunc->df_deleted)
      {
        // don't use ufunc->uf_name, it may have been freed
!       emsg_funcname(e_func_deleted,
                dfunc->df_name == NULL ? (char_u *)"unknown" : dfunc->df_name);
        return FAIL;
      }
--- 271,277 ----
      if (dfunc->df_deleted)
      {
        // don't use ufunc->uf_name, it may have been freed
!       emsg_funcname(e_function_was_deleted_str,
                dfunc->df_name == NULL ? (char_u *)"unknown" : dfunc->df_name);
        return FAIL;
      }
***************
*** 2578,2584 ****
                            lidx = list->lv_len + lidx;
                        if (lidx < 0 || lidx > list->lv_len)
                        {
!                           semsg(_(e_listidx), lidx);
                            goto on_error;
                        }
                        if (lidx < list->lv_len)
--- 2578,2584 ----
                            lidx = list->lv_len + lidx;
                        if (lidx < 0 || lidx > list->lv_len)
                        {
!                           semsg(_(e_list_index_out_of_range_nr), lidx);
                            goto on_error;
                        }
                        if (lidx < list->lv_len)
***************
*** 2659,2665 ****
                        // Can add one byte at the end.
                        if (lidx < 0 || lidx > len)
                        {
!                           semsg(_(e_blobidx), lidx);
                            goto on_error;
                        }
                        if (value_check_lock(blob->bv_lock,
--- 2659,2665 ----
                        // Can add one byte at the end.
                        if (lidx < 0 || lidx > len)
                        {
!                           semsg(_(e_blob_index_out_of_range_nr), lidx);
                            goto on_error;
                        }
                        if (value_check_lock(blob->bv_lock,
***************
*** 2879,2885 ****
                                if (di == NULL)
                                {
                                    // NULL dict is equivalent to empty dict
!                                   semsg(_(e_dictkey), key);
                                    status = FAIL;
                                }
                                else if (var_check_fixed(di->di_flags,
--- 2879,2885 ----
                                if (di == NULL)
                                {
                                    // NULL dict is equivalent to empty dict
!                                   semsg(_(e_key_not_present_in_dictionary), 
key);
                                    status = FAIL;
                                }
                                else if (var_check_fixed(di->di_flags,
***************
*** 2915,2921 ****
                                if (li == NULL)
                                {
                                    SOURCING_LNUM = iptr->isn_lnum;
!                                   semsg(_(e_listidx), n);
                                    status = FAIL;
                                }
                                else if (value_check_lock(li->li_tv.v_lock,
--- 2915,2921 ----
                                if (li == NULL)
                                {
                                    SOURCING_LNUM = iptr->isn_lnum;
!                                   semsg(_(e_list_index_out_of_range_nr), n);
                                    status = FAIL;
                                }
                                else if (value_check_lock(li->li_tv.v_lock,
***************
*** 2991,2997 ****
                                        && tv_idx2->v_type != VAR_SPECIAL
                                        && n2 < n1)
                                {
!                                   semsg(_(e_listidx), n2);
                                    status = FAIL;
                                }
                                if (status != FAIL
--- 2991,2997 ----
                                        && tv_idx2->v_type != VAR_SPECIAL
                                        && n2 < n1)
                                {
!                                   semsg(_(e_list_index_out_of_range_nr), n2);
                                    status = FAIL;
                                }
                                if (status != FAIL
***************
*** 4022,4028 ****
                            case EXPR_SUB:  f1 = f1 - f2; break;
                            case EXPR_ADD:  f1 = f1 + f2; break;
                            default: SOURCING_LNUM = iptr->isn_lnum;
!                                    emsg(_(e_modulus));
                                     goto on_error;
                        }
                        clear_tv(tv1);
--- 4022,4028 ----
                            case EXPR_SUB:  f1 = f1 - f2; break;
                            case EXPR_ADD:  f1 = f1 + f2; break;
                            default: SOURCING_LNUM = iptr->isn_lnum;
!                                    emsg(_(e_cannot_use_percent_with_float));
                                     goto on_error;
                        }
                        clear_tv(tv1);
***************
*** 4249,4255 ****
                    if ((di = dict_find(dict, key, -1)) == NULL)
                    {
                        SOURCING_LNUM = iptr->isn_lnum;
!                       semsg(_(e_dictkey), key);
  
                        // If :silent! is used we will continue, make sure the
                        // stack contents makes sense and the dict stack is
--- 4249,4255 ----
                    if ((di = dict_find(dict, key, -1)) == NULL)
                    {
                        SOURCING_LNUM = iptr->isn_lnum;
!                       semsg(_(e_key_not_present_in_dictionary), key);
  
                        // If :silent! is used we will continue, make sure the
                        // stack contents makes sense and the dict stack is
***************
*** 4283,4289 ****
                    if (tv->v_type != VAR_DICT || tv->vval.v_dict == NULL)
                    {
                        SOURCING_LNUM = iptr->isn_lnum;
!                       emsg(_(e_dictreq));
                        goto on_error;
                    }
                    dict = tv->vval.v_dict;
--- 4283,4289 ----
                    if (tv->v_type != VAR_DICT || tv->vval.v_dict == NULL)
                    {
                        SOURCING_LNUM = iptr->isn_lnum;
!                       emsg(_(e_dictionary_required));
                        goto on_error;
                    }
                    dict = tv->vval.v_dict;
***************
*** 4292,4298 ****
                                                                       == NULL)
                    {
                        SOURCING_LNUM = iptr->isn_lnum;
!                       semsg(_(e_dictkey), iptr->isn_arg.string);
                        goto on_error;
                    }
                    // Put the dict used on the dict stack, it might be used by
--- 4292,4298 ----
                                                                       == NULL)
                    {
                        SOURCING_LNUM = iptr->isn_lnum;
!                       semsg(_(e_key_not_present_in_dictionary), 
iptr->isn_arg.string);
                        goto on_error;
                    }
                    // Put the dict used on the dict stack, it might be used by
*** ../vim-8.2.3966/src/vim9expr.c      2021-12-27 15:39:23.722764882 +0000
--- src/vim9expr.c      2022-01-01 13:24:57.270964789 +0000
***************
*** 855,861 ****
      {
        if (may_get_next_line(whitep, &p, cctx) == FAIL)
        {
!           semsg(_(e_list_end), *arg);
            return FAIL;
        }
        if (*p == ',')
--- 855,861 ----
      {
        if (may_get_next_line(whitep, &p, cctx) == FAIL)
        {
!           semsg(_(e_missing_end_of_list_rsb_str), *arg);
            return FAIL;
        }
        if (*p == ',')
*** ../vim-8.2.3966/src/vim9instr.c     2021-12-25 18:23:20.766696178 +0000
--- src/vim9instr.c     2022-01-01 13:30:05.074502616 +0000
***************
*** 757,763 ****
      if (type->tt_type != VAR_LIST)
      {
        // cannot happen, caller has checked the type
!       emsg(_(e_listreq));
        return FAIL;
      }
      item_type = type->tt_member;
--- 757,763 ----
      if (type->tt_type != VAR_LIST)
      {
        // cannot happen, caller has checked the type
!       emsg(_(e_list_required));
        return FAIL;
      }
      item_type = type->tt_member;
*** ../vim-8.2.3966/src/vim9script.c    2021-12-31 22:48:56.595368891 +0000
--- src/vim9script.c    2022-01-01 13:03:14.892437693 +0000
***************
*** 127,133 ****
            case CMD_k:
                if (eap->addr_count > 0)
                {
!                   emsg(_(e_norange));
                    return FAIL;
                }
                // FALLTHROUGH
--- 127,133 ----
            case CMD_k:
                if (eap->addr_count > 0)
                {
!                   emsg(_(e_no_range_allowed));
                    return FAIL;
                }
                // FALLTHROUGH
*** ../vim-8.2.3966/src/version.c       2022-01-01 12:42:52.650052077 +0000
--- src/version.c       2022-01-01 14:18:49.204481572 +0000
***************
*** 751,752 ****
--- 751,754 ----
  {   /* Add new patch number below this line */
+ /**/
+     3967,
  /**/

-- 
If Apple would build a car...
... it would be powered by the sun, be reliable, five times
as fast and twice as easy to drive; but would only run on
five percent of the roads.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220101142020.AA4B81C0A5B%40moolenaar.net.

Raspunde prin e-mail lui