Patch 8.2.3970
Problem:    Error messages are spread out.
Solution:   Move more errors to errors.h.
Files:      src/errors.h, src/globals.h, src/buffer.c, src/bufwrite.c,
            src/clientserver.c, src/cmdhist.c, src/dict.c, src/edit.c,
            src/eval.c, src/evalfunc.c, src/evalvars.c, src/ex_cmds.c,
            src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/gui_w32.c,
            src/gui_x11.c, src/if_xcmdsrv.c, src/insexpand.c, src/json.c,
            src/match.c, src/menu.c, src/option.c, src/optionstr.c,
            src/os_mswin.c, src/quickfix.c, src/regexp_bt.c, src/regexp_nfa.c,
            src/scriptfile.c, src/sign.c, src/spellfile.c, src/undo.c,
            src/userfunc.c, src/vim9cmds.c, src/vim9compile.c,
            src/vim9execute.c, src/vim9expr.c, src/window.c


*** ../vim-8.2.3969/src/errors.h        2022-01-01 14:19:44.028353885 +0000
--- src/errors.h        2022-01-01 15:55:53.918690606 +0000
***************
*** 524,534 ****
--- 524,545 ----
  EXTERN char e_cannot_allocate_color_str[]
        INIT(= N_("E254: Cannot allocate color %s"));
  #endif
+ #if defined(FEAT_SIGN_ICONS) && !defined(FEAT_GUI_GTK)
+ EXTERN char e_couldnt_read_in_sign_data[]
+       INIT(= N_("E255: Couldn't read in sign data"));
+ #endif
  
  EXTERN char e_internal_error_lalloc_zero[]
        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)"));
+ #if defined(AMIGA) || defined(MACOS_X) || defined(MSWIN)  \
+       || defined(UNIX) || defined(VMS)
+ EXTERN char e_screen_mode_setting_not_supported[]
+       INIT(= N_("E359: Screen mode setting not supported"));
+ #endif
+ EXTERN char e_pattern_uses_more_memory_than_maxmempattern[]
+       INIT(= N_("E363: pattern uses more memory than 'maxmempattern'"));
  #ifdef FEAT_LIBCALL
  EXTERN char e_library_call_failed_for_str[]
        INIT(= N_("E364: Library call failed for \"%s()\""));
***************
*** 546,551 ****
--- 557,566 ----
  EXTERN char e_could_not_load_library_function_str[]
        INIT(= N_("E448: Could not load library function %s"));
  #endif
+ #ifdef FEAT_CLIENTSERVER
+ EXTERN char e_invalid_expression_received[]
+       INIT(= N_("E449: Invalid expression received"));
+ #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"));
***************
*** 554,559 ****
--- 569,578 ----
  EXTERN char e_illegal_variable_name_str[]
        INIT(= N_("E461: Illegal variable name: %s"));
  #endif
+ #ifdef FEAT_NETBEANS_INTG
+ EXTERN char e_region_is_guarded_cannot_modify[]
+       INIT(= N_("E463: Region is guarded, cannot modify"));
+ #endif
  EXTERN char e_ambiguous_use_of_user_defined_command[]
        INIT(= N_("E464: Ambiguous use of user-defined command"));
  EXTERN char e_command_aborted[]
***************
*** 600,605 ****
--- 619,628 ----
        INIT(= N_("E480: No match: %s"));
  EXTERN char e_no_range_allowed[]
        INIT(= N_("E481: No range allowed"));
+ EXTERN char e_trailing_characters[]
+       INIT(= N_("E488: Trailing characters"));
+ EXTERN char e_trailing_characters_str[]
+       INIT(= N_("E488: Trailing characters: %s"));
  
        // E502
  EXTERN char e_is_a_directory[]
***************
*** 638,648 ****
--- 661,682 ----
        INIT(= N_("E516: No buffers were deleted"));
  EXTERN char e_no_buffers_were_wiped_out[]
        INIT(= N_("E517: No buffers were wiped out"));
+ EXTERN char e_not_allowed_here[]
+       INIT(= N_("E523: Not allowed here"));
+ EXTERN char e_not_allowed_to_change_text_or_change_window[]
+       INIT(= N_("E565: Not allowed to change text or change window"));
+ EXTERN char e_not_allowed_to_change_text_here[]
+       INIT(= N_("E578: Not allowed to change text here"));
  #ifdef FEAT_EVAL
  EXTERN char e_endwhile_without_while[]
        INIT(= N_("E588: :endwhile without :while"));
  EXTERN char e_endfor_without_for[]
        INIT(= N_("E588: :endfor without :for"));
+ EXTERN char e_winheight_cannot_be_smaller_than_winminheight[]
+       INIT(= N_("E591: 'winheight' cannot be smaller than 'winminheight'"));
+ EXTERN char e_winwidth_cannot_be_smaller_than_winminwidth[]
+       INIT(= N_("E592: 'winwidth' cannot be smaller than 'winminwidth'"));
+ 
  EXTERN char e_missing_endtry[]
        INIT(= N_("E600: Missing :endtry"));
  EXTERN char e_endtry_without_try[]
***************
*** 673,678 ****
--- 707,714 ----
        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"));
+ EXTERN char e_invalid_search_pattern_or_delimiter[]
+       INIT(= N_("E682: Invalid search pattern or delimiter"));
  #ifdef FEAT_EVAL
  EXTERN char e_list_index_out_of_range_nr[]
        INIT(= N_("E684: list index out of range: %ld"));
***************
*** 701,706 ****
--- 737,750 ----
        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_missing_colon_in_dictionary[]
+       INIT(= N_("E720: Missing colon in Dictionary: %s"));
+ EXTERN char e_duplicate_key_in_dicitonary[]
+       INIT(= N_("E721: Duplicate key in Dictionary: \"%s\""));
+ EXTERN char e_missing_comma_in_dictionary[]
+       INIT(= N_("E722: Missing comma in Dictionary: %s"));
+ EXTERN char e_missing_dict_end[]
+       INIT(= N_("E723: Missing end of Dictionary '}': %s"));
  EXTERN char e_wrong_variable_type_for_str_equal[]
        INIT(= N_("E734: Wrong variable type for %s="));
  EXTERN char e_value_is_locked[]
***************
*** 712,721 ****
--- 756,775 ----
  EXTERN char e_cannot_change_value_of_str[]
        INIT(= N_("E742: Cannot change value of %s"));
  #endif
+ #ifdef FEAT_NETBEANS_INTG
+ EXTERN char e_netbeans_does_not_allow_changes_in_read_only_files[]
+       INIT(= N_("E744: NetBeans does not allow changes in read-only files"));
+ #endif
+ EXTERN char e_empty_buffer[]
+       INIT(= N_("E749: empty buffer"));
  #ifdef FEAT_SPELL
  EXTERN char e_spell_checking_is_not_possible[]
        INIT(= N_("E756: Spell checking is not possible"));
  #endif
+ #if defined(FEAT_SYN_HL) || defined(FEAT_COMPL_FUNC)
+ EXTERN char e_option_str_is_not_set[]
+       INIT(= N_("E764: Option '%s' is not set"));
+ #endif
  #ifdef FEAT_QUICKFIX
  EXTERN char e_no_location_list[]
        INIT(= N_("E776: No location list"));
***************
*** 742,747 ****
--- 796,807 ----
  EXTERN char e_cannot_use_percent_with_float[]
        INIT(= N_("E804: Cannot use '%' with Float"));
  #endif
+ #ifdef FEAT_FLOAT
+ EXTERN char e_using_float_as_string[]
+       INIT(= N_("E806: using Float as a String"));
+ #endif
+ EXTERN char e_cannot_close_autocmd_or_popup_window[]
+       INIT(= N_("E813: Cannot close autocmd or popup window"));
  EXTERN char e_blowfish_big_little_endian_use_wrong[]
        INIT(= N_("E817: Blowfish big/little endian use wrong"));
  EXTERN char e_sha256_test_failed[]
***************
*** 757,762 ****
--- 817,826 ----
  EXTERN char e_conflicts_with_value_of_fillchars[]
        INIT(= N_("E835: Conflicts with value of 'fillchars'"));
  // E839 unused
+ #ifndef FEAT_CLIPBOARD
+ EXTERN char e_invalid_register_name[]
+       INIT(= N_("E850: Invalid register name"));
+ #endif
  EXTERN char e_autocommands_caused_command_to_abort[]
        INIT(= N_("E855: Autocommands caused command to abort"));
  #ifdef FEAT_EVAL
***************
*** 781,786 ****
--- 845,854 ----
        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"));
+ #endif
+ EXTERN char e_directory_not_found_in_str_str[]
+       INIT(= N_("E919: Directory not found in '%s': \"%s\""));
+ #ifdef FEAT_EVAL
  EXTERN char e_string_required[]
        INIT(= N_("E928: String required"));
  #endif
***************
*** 794,799 ****
--- 862,869 ----
        INIT(= N_("E936: Cannot delete the current group"));
  EXTERN char e_attempt_to_delete_buffer_that_is_in_use_str[]
        INIT(= N_("E937: Attempt to delete a buffer that is in use: %s"));
+ EXTERN char e_positive_count_required[]
+       INIT(= N_("E939: Positive count required"));
  #ifdef FEAT_TERMINAL
  EXTERN char e_job_still_running[]
        INIT(= N_("E948: Job still running"));
***************
*** 802,807 ****
--- 872,879 ----
  #endif
  EXTERN char e_file_changed_while_writing[]
        INIT(= N_("E949: File changed while writing"));
+ EXTERN char e_autocommand_caused_recursive_behavior[]
+       INIT(= N_("E952: Autocommand caused recursive behavior"));
  EXTERN char_u e_invalid_column_number_nr[]
        INIT(= N_("E964: Invalid column number: %ld"));
  EXTERN char_u e_invalid_line_number_nr[]
*** ../vim-8.2.3969/src/globals.h       2022-01-01 14:19:44.028353885 +0000
--- src/globals.h       2022-01-01 15:55:04.398758343 +0000
***************
*** 1603,1652 ****
   * Some error messages that can be shared are included here.
   * They should be moved to errors.h.
   */
- 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"));
- #if defined(AMIGA) || defined(MACOS_X) || defined(MSWIN)  \
-       || defined(UNIX) || defined(VMS)
- EXTERN char e_screenmode[]    INIT(= N_("E359: Screen mode setting not 
supported"));
- #endif
- #if defined(FEAT_SIGN_ICONS) && !defined(FEAT_GUI_GTK)
- EXTERN char e_signdata[]      INIT(= N_("E255: Couldn't read in sign data!"));
- #endif
- EXTERN char e_trailing[]      INIT(= N_("E488: Trailing characters"));
- EXTERN char e_trailing_arg[]  INIT(= N_("E488: Trailing characters: %s"));
- EXTERN char e_winheight[]     INIT(= N_("E591: 'winheight' cannot be smaller 
than 'winminheight'"));
- EXTERN char e_winwidth[]      INIT(= N_("E592: 'winwidth' cannot be smaller 
than 'winminwidth'"));
- EXTERN char e_zerocount[]     INIT(= N_("E939: Positive count required"));
- #ifdef FEAT_EVAL
- EXTERN char e_missing_dict_colon[] INIT(= N_("E720: Missing colon in 
Dictionary: %s"));
- EXTERN char e_duplicate_key[] INIT(= N_("E721: Duplicate key in Dictionary: 
\"%s\""));
- EXTERN char e_missing_dict_comma[] INIT(= N_("E722: Missing comma in 
Dictionary: %s"));
- EXTERN char e_missing_dict_end[]    INIT(= N_("E723: Missing end of 
Dictionary '}': %s"));
- #endif
- #ifdef FEAT_CLIENTSERVER
- EXTERN char e_invexprmsg[]    INIT(= N_("E449: Invalid expression received"));
- #endif
- #ifdef FEAT_NETBEANS_INTG
- EXTERN char e_guarded[]       INIT(= N_("E463: Region is guarded, cannot 
modify"));
- EXTERN char e_nbreadonly[]    INIT(= N_("E744: NetBeans does not allow 
changes in read-only files"));
- #endif
- EXTERN char e_maxmempat[]     INIT(= N_("E363: pattern uses more memory than 
'maxmempattern'"));
- EXTERN char e_emptybuf[]      INIT(= N_("E749: empty buffer"));
- 
- EXTERN char e_invalpat[]      INIT(= N_("E682: Invalid search pattern or 
delimiter"));
- #if defined(FEAT_SYN_HL) || defined(FEAT_COMPL_FUNC)
- EXTERN char e_notset[]        INIT(= N_("E764: Option '%s' is not set"));
- #endif
- #ifndef FEAT_CLIPBOARD
- EXTERN char e_invalidreg[]    INIT(= N_("E850: Invalid register name"));
- #endif
- #ifdef FEAT_FLOAT
- EXTERN char e_float_as_string[] INIT(= N_("E806: using Float as a String"));
- #endif
- EXTERN char e_dirnotf[]       INIT(= N_("E919: Directory not found in '%s': 
\"%s\""));
- EXTERN char e_au_recursive[]  INIT(= N_("E952: Autocommand caused recursive 
behavior"));
- EXTERN char e_autocmd_close[] INIT(= N_("E813: Cannot close autocmd or popup 
window"));
  #ifdef FEAT_MENU
  EXTERN char e_menuothermode[] INIT(= N_("E328: Menu only exists in another 
mode"));
  #endif
--- 1603,1608 ----
*** ../vim-8.2.3969/src/buffer.c        2021-12-31 19:59:48.866000515 +0000
--- src/buffer.c        2022-01-01 15:36:55.264359480 +0000
***************
*** 1608,1614 ****
        if (addr_count == 2)
        {
            if (*arg)           // both range and argument is not allowed
!               return ex_errmsg(e_trailing_arg, arg);
            bnr = start_bnr;
        }
        else    // addr_count == 1
--- 1608,1614 ----
        if (addr_count == 2)
        {
            if (*arg)           // both range and argument is not allowed
!               return ex_errmsg(e_trailing_characters_str, arg);
            bnr = start_bnr;
        }
        else    // addr_count == 1
*** ../vim-8.2.3969/src/bufwrite.c      2022-01-01 14:19:44.032353878 +0000
--- src/bufwrite.c      2022-01-01 15:49:35.755173566 +0000
***************
*** 700,706 ****
      {
        // This can happen during startup when there is a stray "w" in the
        // vimrc file.
!       emsg(_(e_emptybuf));
        return FAIL;
      }
  
--- 700,706 ----
      {
        // This can happen during startup when there is a stray "w" in the
        // vimrc file.
!       emsg(_(e_empty_buffer));
        return FAIL;
      }
  
*** ../vim-8.2.3969/src/clientserver.c  2021-07-27 21:00:39.737712414 +0100
--- src/clientserver.c  2022-01-01 15:45:31.875530811 +0000
***************
*** 119,125 ****
        {
            if (ret == NULL)
            {
!               char    *err = _(e_invexprmsg);
                size_t  len = STRLEN(cmd) + STRLEN(err) + 5;
                char_u  *msg;
  
--- 119,125 ----
        {
            if (ret == NULL)
            {
!               char    *err = _(e_invalid_expression_received);
                size_t  len = STRLEN(cmd) + STRLEN(err) + 5;
                char_u  *msg;
  
*** ../vim-8.2.3969/src/cmdhist.c       2021-07-27 21:00:39.737712414 +0100
--- src/cmdhist.c       2022-01-01 15:36:58.880353795 +0000
***************
*** 724,730 ****
            else
            {
                *end = i;
!               semsg(_(e_trailing_arg), arg);
                return;
            }
        }
--- 724,730 ----
            else
            {
                *end = i;
!               semsg(_(e_trailing_characters_str), arg);
                return;
            }
        }
***************
*** 736,742 ****
        end = arg;
      if (!get_list_range(&end, &hisidx1, &hisidx2) || *end != NUL)
      {
!       semsg(_(e_trailing_arg), end);
        return;
      }
  
--- 736,742 ----
        end = arg;
      if (!get_list_range(&end, &hisidx1, &hisidx2) || *end != NUL)
      {
!       semsg(_(e_trailing_characters_str), end);
        return;
      }
  
*** ../vim-8.2.3969/src/dict.c  2022-01-01 14:19:44.032353878 +0000
--- src/dict.c  2022-01-01 15:43:48.351698834 +0000
***************
*** 962,968 ****
            if (*skipwhite(*arg) == ':')
                semsg(_(e_no_white_space_allowed_before_str_str), ":", *arg);
            else
!               semsg(_(e_missing_dict_colon), *arg);
            clear_tv(&tvkey);
            goto failret;
        }
--- 962,968 ----
            if (*skipwhite(*arg) == ':')
                semsg(_(e_no_white_space_allowed_before_str_str), ":", *arg);
            else
!               semsg(_(e_missing_colon_in_dictionary), *arg);
            clear_tv(&tvkey);
            goto failret;
        }
***************
*** 1002,1008 ****
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key), key);
                clear_tv(&tvkey);
                clear_tv(&tv);
                goto failret;
--- 1002,1008 ----
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dicitonary), key);
                clear_tv(&tvkey);
                clear_tv(&tv);
                goto failret;
***************
*** 1042,1048 ****
            if (**arg == ',')
                semsg(_(e_no_white_space_allowed_before_str_str), ",", *arg);
            else
!               semsg(_(e_missing_dict_comma), *arg);
            goto failret;
        }
      }
--- 1042,1048 ----
            if (**arg == ',')
                semsg(_(e_no_white_space_allowed_before_str_str), ",", *arg);
            else
!               semsg(_(e_missing_comma_in_dictionary), *arg);
            goto failret;
        }
      }
*** ../vim-8.2.3969/src/edit.c  2021-12-29 16:05:28.026222402 +0000
--- src/edit.c  2022-01-01 15:27:08.097240974 +0000
***************
*** 175,181 ****
      if (textwinlock != 0 || textlock != 0
                          || ins_compl_active() || compl_busy || pum_visible())
      {
!       emsg(_(e_textwinlock));
        return FALSE;
      }
      ins_compl_clear();            // clear stuff for CTRL-X mode
--- 175,181 ----
      if (textwinlock != 0 || textlock != 0
                          || ins_compl_active() || compl_busy || pum_visible())
      {
!       emsg(_(e_not_allowed_to_change_text_or_change_window));
        return FALSE;
      }
      ins_compl_clear();            // clear stuff for CTRL-X mode
*** ../vim-8.2.3969/src/eval.c  2022-01-01 14:19:44.032353878 +0000
--- src/eval.c  2022-01-01 15:52:45.642941869 +0000
***************
*** 856,862 ****
        if (unlet && !VIM_ISWHITE(*p) && !ends_excmd(*p)
                                                    && *p != '[' && *p != '.')
        {
!           semsg(_(e_trailing_arg), p);
            return NULL;
        }
  
--- 856,862 ----
        if (unlet && !VIM_ISWHITE(*p) && !ends_excmd(*p)
                                                    && *p != '[' && *p != '.')
        {
!           semsg(_(e_trailing_characters_str), p);
            return NULL;
        }
  
***************
*** 2269,2275 ****
                && (!in_vim9script() || !vim9_bad_comment(p)))
        {
            if (end_error)
!               semsg(_(e_trailing_arg), p);
            else
                semsg(_(e_invalid_expression_str), arg);
        }
--- 2269,2275 ----
                && (!in_vim9script() || !vim9_bad_comment(p)))
        {
            if (end_error)
!               semsg(_(e_trailing_characters_str), p);
            else
                semsg(_(e_invalid_expression_str), arg);
        }
***************
*** 4129,4135 ****
        case VAR_FLOAT:
  #ifdef FEAT_FLOAT
            if (verbose)
!               emsg(_(e_float_as_string));
            return FAIL;
  #endif
        case VAR_BOOL:
--- 4129,4135 ----
        case VAR_FLOAT:
  #ifdef FEAT_FLOAT
            if (verbose)
!               emsg(_(e_using_float_as_string));
            return FAIL;
  #endif
        case VAR_BOOL:
*** ../vim-8.2.3969/src/evalfunc.c      2022-01-01 14:19:44.036353866 +0000
--- src/evalfunc.c      2022-01-01 15:37:08.196339112 +0000
***************
*** 3496,3502 ****
        rettv->vval.v_number = 0;
      }
      else if (*s != NUL)
!       semsg(_(e_trailing_arg), s);
  }
  
  /*
--- 3496,3502 ----
        rettv->vval.v_number = 0;
      }
      else if (*s != NUL)
!       semsg(_(e_trailing_characters_str), s);
  }
  
  /*
***************
*** 6698,6704 ****
        if (*end != NUL)
        {
            semsg(_(lv.ll_name == lv.ll_name_end
!                                          ? e_invalid_argument_str : 
e_trailing_arg), end);
        }
        else
        {
--- 6698,6704 ----
        if (*end != NUL)
        {
            semsg(_(lv.ll_name == lv.ll_name_end
!                                          ? e_invalid_argument_str : 
e_trailing_characters_str), end);
        }
        else
        {
*** ../vim-8.2.3969/src/evalvars.c      2022-01-01 14:59:39.543684481 +0000
--- src/evalvars.c      2022-01-01 15:37:14.868328596 +0000
***************
*** 622,628 ****
        p = skiptowhite(marker);
        if (*skipwhite(p) != NUL && *skipwhite(p) != comment_char)
        {
!           semsg(_(e_trailing_arg), p);
            return NULL;
        }
        *p = NUL;
--- 622,628 ----
        p = skiptowhite(marker);
        if (*skipwhite(p) != NUL && *skipwhite(p) != comment_char)
        {
!           semsg(_(e_trailing_characters_str), p);
            return NULL;
        }
        *p = NUL;
***************
*** 802,808 ****
            if (vim9script)
            {
                if (!ends_excmd2(eap->cmd, skipwhite(argend)))
!                   semsg(_(e_trailing_arg), argend);
                else
                    // Vim9 declaration ":var name: type"
                    arg = vim9_declare_scriptvar(eap, arg);
--- 802,808 ----
            if (vim9script)
            {
                if (!ends_excmd2(eap->cmd, skipwhite(argend)))
!                   semsg(_(e_trailing_characters_str), argend);
                else
                    // Vim9 declaration ":var name: type"
                    arg = vim9_declare_scriptvar(eap, arg);
***************
*** 1206,1212 ****
            {
                emsg_severe = TRUE;
                if (!did_emsg)
!                   semsg(_(e_trailing_arg), arg);
                break;
            }
        }
--- 1206,1212 ----
            {
                emsg_severe = TRUE;
                if (!did_emsg)
!                   semsg(_(e_trailing_characters_str), arg);
                break;
            }
        }
***************
*** 1691,1697 ****
                if (name_end != NULL)
                {
                    emsg_severe = TRUE;
!                   semsg(_(e_trailing_arg), name_end);
                }
                if (!(eap->skip || error))
                    clear_lval(&lv);
--- 1691,1697 ----
                if (name_end != NULL)
                {
                    emsg_severe = TRUE;
!                   semsg(_(e_trailing_characters_str), name_end);
                }
                if (!(eap->skip || error))
                    clear_lval(&lv);
***************
*** 4044,4050 ****
        clear_lval(redir_lval);
        if (redir_endp != NULL && *redir_endp != NUL)
            // Trailing characters are present after the variable name
!           semsg(_(e_trailing_arg), redir_endp);
        else
            semsg(_(e_invalid_argument_str), name);
        redir_endp = NULL;  // don't store a value, only cleanup
--- 4044,4050 ----
        clear_lval(redir_lval);
        if (redir_endp != NULL && *redir_endp != NUL)
            // Trailing characters are present after the variable name
!           semsg(_(e_trailing_characters_str), redir_endp);
        else
            semsg(_(e_invalid_argument_str), name);
        redir_endp = NULL;  // don't store a value, only cleanup
*** ../vim-8.2.3969/src/ex_cmds.c       2022-01-01 14:19:44.036353866 +0000
--- src/ex_cmds.c       2022-01-01 15:41:43.355900547 +0000
***************
*** 3931,3937 ****
        i = getdigits(&cmd);
        if (i <= 0 && !eap->skip && subflags.do_error)
        {
!           emsg(_(e_zerocount));
            return;
        }
        eap->line1 = eap->line2;
--- 3931,3937 ----
        i = getdigits(&cmd);
        if (i <= 0 && !eap->skip && subflags.do_error)
        {
!           emsg(_(e_positive_count_required));
            return;
        }
        eap->line1 = eap->line2;
***************
*** 3949,3955 ****
        set_nextcmd(eap, cmd);
        if (eap->nextcmd == NULL)
        {
!           semsg(_(e_trailing_arg), cmd);
            return;
        }
      }
--- 3949,3955 ----
        set_nextcmd(eap, cmd);
        if (eap->nextcmd == NULL)
        {
!           semsg(_(e_trailing_characters_str), cmd);
            return;
        }
      }
*** ../vim-8.2.3969/src/ex_docmd.c      2022-01-01 14:19:44.036353866 +0000
--- src/ex_docmd.c      2022-01-01 15:55:47.210699841 +0000
***************
*** 522,528 ****
                   || changedtick != CHANGEDTICK(curbuf)) && !ex_no_reprint)
        {
            if (curbuf->b_ml.ml_flags & ML_EMPTY)
!               emsg(_(e_emptybuf));
            else
            {
                if (ex_pressedreturn)
--- 522,528 ----
                   || changedtick != CHANGEDTICK(curbuf)) && !ex_no_reprint)
        {
            if (curbuf->b_ml.ml_flags & ML_EMPTY)
!               emsg(_(e_empty_buffer));
            else
            {
                if (ex_pressedreturn)
***************
*** 541,547 ****
        else if (ex_pressedreturn && !ex_no_reprint)    // must be at EOF
        {
            if (curbuf->b_ml.ml_flags & ML_EMPTY)
!               emsg(_(e_emptybuf));
            else
                emsg(_("E501: At end-of-file"));
        }
--- 541,547 ----
        else if (ex_pressedreturn && !ex_no_reprint)    // must be at EOF
        {
            if (curbuf->b_ml.ml_flags & ML_EMPTY)
!               emsg(_(e_empty_buffer));
            else
                emsg(_("E501: At end-of-file"));
        }
***************
*** 2326,2332 ****
        // check these explicitly for a more specific error message
        if (*ea.arg == '*' || *ea.arg == '+')
        {
!           errormsg = _(e_invalidreg);
            goto doend;
        }
  #endif
--- 2326,2332 ----
        // check these explicitly for a more specific error message
        if (*ea.arg == '*' || *ea.arg == '+')
        {
!           errormsg = _(e_invalid_register_name);
            goto doend;
        }
  #endif
***************
*** 2362,2368 ****
        ea.arg = skipwhite(ea.arg);
        if (n <= 0 && !ni && (ea.argt & EX_ZEROR) == 0)
        {
!           errormsg = _(e_zerocount);
            goto doend;
        }
        if (ea.addr_type != ADDR_LINES) // e.g. :buffer 2, :sleep 3
--- 2362,2368 ----
        ea.arg = skipwhite(ea.arg);
        if (n <= 0 && !ni && (ea.argt & EX_ZEROR) == 0)
        {
!           errormsg = _(e_positive_count_required);
            goto doend;
        }
        if (ea.addr_type != ADDR_LINES) // e.g. :buffer 2, :sleep 3
***************
*** 2393,2399 ****
            && *ea.arg != '"' && (*ea.arg != '|' || (ea.argt & EX_TRLBAR) == 0))
      {
        // no arguments allowed but there is something
!       errormsg = ex_errmsg(e_trailing_arg, ea.arg);
        goto doend;
      }
  
--- 2393,2399 ----
            && *ea.arg != '"' && (*ea.arg != '|' || (ea.argt & EX_TRLBAR) == 0))
      {
        // no arguments allowed but there is something
!       errormsg = ex_errmsg(e_trailing_characters_str, ea.arg);
        goto doend;
      }
  
***************
*** 5353,5359 ****
      if (ERROR_IF_ANY_POPUP_WINDOW)
        return;
      if (*eap->arg)
!       eap->errmsg = ex_errmsg(e_trailing_arg, eap->arg);
      else
      {
        if (eap->addr_count == 0)       // default is current buffer
--- 5353,5359 ----
      if (ERROR_IF_ANY_POPUP_WINDOW)
        return;
      if (*eap->arg)
!       eap->errmsg = ex_errmsg(e_trailing_characters_str, eap->arg);
      else
      {
        if (eap->addr_count == 0)       // default is current buffer
***************
*** 5860,5866 ****
      // Never close the autocommand window.
      if (win == aucmd_win)
      {
!       emsg(_(e_autocmd_close));
        return;
      }
  
--- 5860,5866 ----
      // Never close the autocommand window.
      if (win == aucmd_win)
      {
!       emsg(_(e_cannot_close_autocmd_or_popup_window));
        return;
      }
  
***************
*** 6286,6292 ****
  ex_print(exarg_T *eap)
  {
      if (curbuf->b_ml.ml_flags & ML_EMPTY)
!       emsg(_(e_emptybuf));
      else
      {
        for ( ;!got_int; ui_breakcheck())
--- 6286,6292 ----
  ex_print(exarg_T *eap)
  {
      if (curbuf->b_ml.ml_flags & ML_EMPTY)
!       emsg(_(e_empty_buffer));
      else
      {
        for ( ;!got_int; ui_breakcheck())
***************
*** 6771,6777 ****
      if (*eap->arg == NUL)
        shell_resized();
      else
!       emsg(_(e_screenmode));
  }
  
  /*
--- 6771,6777 ----
      if (*eap->arg == NUL)
        shell_resized();
      else
!       emsg(_(e_screen_mode_setting_not_supported));
  }
  
  /*
***************
*** 8327,8333 ****
      if (*eap->arg == NUL)             // No argument?
        emsg(_(e_argument_required));
      else if (eap->arg[1] != NUL)      // more than one character?
!       semsg(_(e_trailing_arg), eap->arg);
      else
      {
        pos = curwin->w_cursor;         // save curwin->w_cursor
--- 8327,8333 ----
      if (*eap->arg == NUL)             // No argument?
        emsg(_(e_argument_required));
      else if (eap->arg[1] != NUL)      // more than one character?
!       semsg(_(e_trailing_characters_str), eap->arg);
      else
      {
        pos = curwin->w_cursor;         // save curwin->w_cursor
***************
*** 8420,8426 ****
  
      if (ex_normal_lock > 0)
      {
!       emsg(_(e_secure));
        return;
      }
      if (ex_normal_busy >= p_mmd)
--- 8420,8426 ----
  
      if (ex_normal_lock > 0)
      {
!       emsg(_(e_not_allowed_here));
        return;
      }
      if (ex_normal_busy >= p_mmd)
***************
*** 8698,8704 ****
  
            // Check for trailing illegal characters
            if (!ends_excmd2(eap->arg, p))
!               eap->errmsg = ex_errmsg(e_trailing_arg, p);
            else
                set_nextcmd(eap, p);
        }
--- 8698,8704 ----
  
            // Check for trailing illegal characters
            if (!ends_excmd2(eap->arg, p))
!               eap->errmsg = ex_errmsg(e_trailing_characters_str, p);
            else
                set_nextcmd(eap, p);
        }
*** ../vim-8.2.3969/src/ex_eval.c       2021-12-31 22:48:56.579368905 +0000
--- src/ex_eval.c       2022-01-01 15:37:26.532310179 +0000
***************
*** 1770,1776 ****
            if (end != NULL && *end != NUL
                                      && !ends_excmd2(end, skipwhite(end + 1)))
            {
!               semsg(_(e_trailing_arg), end);
                return;
            }
  
--- 1770,1776 ----
            if (end != NULL && *end != NUL
                                      && !ends_excmd2(end, skipwhite(end + 1)))
            {
!               semsg(_(e_trailing_characters_str), end);
                return;
            }
  
*** ../vim-8.2.3969/src/ex_getln.c      2021-12-31 22:48:56.579368905 +0000
--- src/ex_getln.c      2022-01-01 15:33:12.548705321 +0000
***************
*** 2641,2648 ****
        return e_invalid_in_cmdline_window;
  #endif
      if (textwinlock != 0)
!       return e_textwinlock;
!     return e_textlock;
  }
  
  /*
--- 2641,2648 ----
        return e_invalid_in_cmdline_window;
  #endif
      if (textwinlock != 0)
!       return e_not_allowed_to_change_text_or_change_window;
!     return e_not_allowed_to_change_text_here;
  }
  
  /*
*** ../vim-8.2.3969/src/gui_w32.c       2021-12-31 22:48:56.579368905 +0000
--- src/gui_w32.c       2022-01-01 15:35:14.176517680 +0000
***************
*** 8393,8399 ****
      {
        if (sign.hImage)
            close_signicon_image(&sign);
!       emsg(_(e_signdata));
      }
      return (void *)psign;
  
--- 8393,8399 ----
      {
        if (sign.hImage)
            close_signicon_image(&sign);
!       emsg(_(e_couldnt_read_in_sign_data));
      }
      return (void *)psign;
  
*** ../vim-8.2.3969/src/gui_x11.c       2022-01-01 14:19:44.040353857 +0000
--- src/gui_x11.c       2022-01-01 15:35:16.660513819 +0000
***************
*** 3229,3235 ****
            //     gui.sign_width = sign->width + 8;
        }
        else
!           emsg(_(e_signdata));
      }
  
      return (void *)sign;
--- 3229,3235 ----
            //     gui.sign_width = sign->width + 8;
        }
        else
!           emsg(_(e_couldnt_read_in_sign_data));
      }
  
      return (void *)sign;
*** ../vim-8.2.3969/src/if_xcmdsrv.c    2022-01-01 14:19:44.044353848 +0000
--- src/if_xcmdsrv.c    2022-01-01 15:45:34.103527190 +0000
***************
*** 1323,1329 ****
                            ga_concat(&reply, res);
                        else
                        {
!                           ga_concat(&reply, (char_u *)_(e_invexprmsg));
                            ga_append(&reply, 0);
                            ga_concat(&reply, (char_u *)"-c 1");
                        }
--- 1323,1329 ----
                            ga_concat(&reply, res);
                        else
                        {
!                           ga_concat(&reply, (char_u 
*)_(e_invalid_expression_received));
                            ga_append(&reply, 0);
                            ga_concat(&reply, (char_u *)"-c 1");
                        }
*** ../vim-8.2.3969/src/insexpand.c     2022-01-01 14:19:44.044353848 +0000
--- src/insexpand.c     2022-01-01 15:51:15.183055490 +0000
***************
*** 4355,4361 ****
      funcname = get_complete_funcname(ctrl_x_mode);
      if (*funcname == NUL)
      {
!       semsg(_(e_notset), ctrl_x_mode == CTRL_X_FUNCTION
                ? "completefunc" : "omnifunc");
        return FAIL;
      }
--- 4355,4361 ----
      funcname = get_complete_funcname(ctrl_x_mode);
      if (*funcname == NUL)
      {
!       semsg(_(e_option_str_is_not_set), ctrl_x_mode == CTRL_X_FUNCTION
                ? "completefunc" : "omnifunc");
        return FAIL;
      }
*** ../vim-8.2.3969/src/json.c  2021-12-31 22:48:56.583368902 +0000
--- src/json.c  2022-01-01 15:52:47.730939183 +0000
***************
*** 925,931 ****
                if (cur_item->v_type == VAR_FLOAT)
                {
                    // cannot use a float as a key
!                   emsg(_(e_float_as_string));
                    retval = FAIL;
                    goto theend;
                }
--- 925,931 ----
                if (cur_item->v_type == VAR_FLOAT)
                {
                    // cannot use a float as a key
!                   emsg(_(e_using_float_as_string));
                    retval = FAIL;
                    goto theend;
                }
***************
*** 1096,1102 ****
      json_skip_white(reader);
      if (reader->js_buf[reader->js_used] != NUL)
      {
!       semsg(_(e_trailing_arg), reader->js_buf + reader->js_used);
        return FAIL;
      }
      return OK;
--- 1096,1102 ----
      json_skip_white(reader);
      if (reader->js_buf[reader->js_used] != NUL)
      {
!       semsg(_(e_trailing_characters_str), reader->js_buf + reader->js_used);
        return FAIL;
      }
      return OK;
*** ../vim-8.2.3969/src/match.c 2022-01-01 14:19:44.048353841 +0000
--- src/match.c 2022-01-01 15:37:31.828301819 +0000
***************
*** 1403,1409 ****
            if (*end != NUL && !ends_excmd2(end, skipwhite(end + 1)))
            {
                vim_free(g);
!               eap->errmsg = ex_errmsg(e_trailing_arg, end);
                return;
            }
            if (*end != *p)
--- 1403,1409 ----
            if (*end != NUL && !ends_excmd2(end, skipwhite(end + 1)))
            {
                vim_free(g);
!               eap->errmsg = ex_errmsg(e_trailing_characters_str, end);
                return;
            }
            if (*end != *p)
*** ../vim-8.2.3969/src/menu.c  2021-12-31 22:48:56.583368902 +0000
--- src/menu.c  2022-01-01 15:37:34.420297725 +0000
***************
*** 289,295 ****
      }
      else if (*map_to != NUL && (unmenu || enable != MAYBE))
      {
!       semsg(_(e_trailing_arg), map_to);
        goto theend;
      }
  #if defined(FEAT_GUI) && !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON))
--- 289,295 ----
      }
      else if (*map_to != NUL && (unmenu || enable != MAYBE))
      {
!       semsg(_(e_trailing_characters_str), map_to);
        goto theend;
      }
  #if defined(FEAT_GUI) && !(defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON))
*** ../vim-8.2.3969/src/option.c        2022-01-01 14:19:44.048353841 +0000
--- src/option.c        2022-01-01 15:39:36.612103698 +0000
***************
*** 1509,1515 ****
                if (vim_strchr((char_u *)"?!&<", nextchar) != NULL
                        && arg[1] != NUL && !VIM_ISWHITE(arg[1]))
                {
!                   errmsg = e_trailing;
                    goto skip;
                }
            }
--- 1509,1515 ----
                if (vim_strchr((char_u *)"?!&<", nextchar) != NULL
                        && arg[1] != NUL && !VIM_ISWHITE(arg[1]))
                {
!                   errmsg = e_trailing_characters;
                    goto skip;
                }
            }
***************
*** 1566,1572 ****
                }
                if (nextchar != '?'
                        && nextchar != NUL && !VIM_ISWHITE(afterchar))
!                   errmsg = e_trailing;
            }
            else
            {
--- 1566,1572 ----
                }
                if (nextchar != '?'
                        && nextchar != NUL && !VIM_ISWHITE(afterchar))
!                   errmsg = e_trailing_characters;
            }
            else
            {
***************
*** 1610,1616 ****
                         */
                        if (nextchar != NUL && !VIM_ISWHITE(afterchar))
                        {
!                           errmsg = e_trailing;
                            goto skip;
                        }
                        if (prefix == 2)        // inv
--- 1610,1616 ----
                         */
                        if (nextchar != NUL && !VIM_ISWHITE(afterchar))
                        {
!                           errmsg = e_trailing_characters;
                            goto skip;
                        }
                        if (prefix == 2)        // inv
***************
*** 2710,2716 ****
                || sandbox != 0
  #endif
                ) && (options[opt_idx].flags & P_SECURE))
!       return e_secure;
  
  #if defined(FEAT_EVAL)
      // Save the global value before changing anything. This is needed as for
--- 2710,2716 ----
                || sandbox != 0
  #endif
                ) && (options[opt_idx].flags & P_SECURE))
!       return e_not_allowed_here;
  
  #if defined(FEAT_EVAL)
      // Save the global value before changing anything. This is needed as for
***************
*** 3304,3310 ****
                || sandbox != 0
  #endif
                ) && (options[opt_idx].flags & P_SECURE))
!       return e_secure;
  
  #if defined(FEAT_EVAL)
      // Save the global value before changing anything. This is needed as for
--- 3304,3310 ----
                || sandbox != 0
  #endif
                ) && (options[opt_idx].flags & P_SECURE))
!       return e_not_allowed_here;
  
  #if defined(FEAT_EVAL)
      // Save the global value before changing anything. This is needed as for
***************
*** 3350,3356 ****
        }
        if (p_wmh > p_wh)
        {
!           errmsg = e_winheight;
            p_wh = p_wmh;
        }
        if (p_hh < 0)
--- 3350,3356 ----
        }
        if (p_wmh > p_wh)
        {
!           errmsg = e_winheight_cannot_be_smaller_than_winminheight;
            p_wh = p_wmh;
        }
        if (p_hh < 0)
***************
*** 3378,3384 ****
        }
        if (p_wmh > p_wh)
        {
!           errmsg = e_winheight;
            p_wmh = p_wh;
        }
        win_setminheight();
--- 3378,3384 ----
        }
        if (p_wmh > p_wh)
        {
!           errmsg = e_winheight_cannot_be_smaller_than_winminheight;
            p_wmh = p_wh;
        }
        win_setminheight();
***************
*** 3393,3399 ****
        }
        if (p_wmw > p_wiw)
        {
!           errmsg = e_winwidth;
            p_wiw = p_wmw;
        }
  
--- 3393,3399 ----
        }
        if (p_wmw > p_wiw)
        {
!           errmsg = e_winwidth_cannot_be_smaller_than_winminwidth;
            p_wiw = p_wmw;
        }
  
***************
*** 3411,3417 ****
        }
        if (p_wmw > p_wiw)
        {
!           errmsg = e_winwidth;
            p_wmw = p_wiw;
        }
        win_setminwidth();
--- 3411,3417 ----
        }
        if (p_wmw > p_wiw)
        {
!           errmsg = e_winwidth_cannot_be_smaller_than_winminwidth;
            p_wmw = p_wiw;
        }
        win_setminwidth();
*** ../vim-8.2.3969/src/optionstr.c     2022-01-01 14:19:44.048353841 +0000
--- src/optionstr.c     2022-01-01 15:15:34.630004822 +0000
***************
*** 677,683 ****
                || sandbox != 0
  #endif
                ) && (get_option_flags(opt_idx) & P_SECURE))
!       errmsg = e_secure;
  
      // Check for a "normal" directory or file name in some options.  Disallow 
a
      // path separator (slash and/or backslash), wildcards and characters that
--- 677,683 ----
                || sandbox != 0
  #endif
                ) && (get_option_flags(opt_idx) & P_SECURE))
!       errmsg = e_not_allowed_here;
  
      // Check for a "normal" directory or file name in some options.  Disallow 
a
      // path separator (slash and/or backslash), wildcards and characters that
*** ../vim-8.2.3969/src/os_mswin.c      2022-01-01 14:19:44.048353841 +0000
--- src/os_mswin.c      2022-01-01 15:45:36.223523742 +0000
***************
*** 2037,2043 ****
  
            if (res == NULL)
            {
!               char    *err = _(e_invexprmsg);
                size_t  len = STRLEN(str) + STRLEN(err) + 5;
  
                res = alloc(len);
--- 2037,2043 ----
  
            if (res == NULL)
            {
!               char    *err = _(e_invalid_expression_received);
                size_t  len = STRLEN(str) + STRLEN(err) + 5;
  
                res = alloc(len);
*** ../vim-8.2.3969/src/quickfix.c      2022-01-01 14:19:44.052353829 +0000
--- src/quickfix.c      2022-01-01 15:54:47.998780525 +0000
***************
*** 3629,3635 ****
      }
      if (!get_list_range(&arg, &idx1, &idx2) || *arg != NUL)
      {
!       semsg(_(e_trailing_arg), arg);
        return;
      }
      qfl = qf_get_curlist(qi);
--- 3629,3635 ----
      }
      if (!get_list_range(&arg, &idx1, &idx2) || *arg != NUL)
      {
!       semsg(_(e_trailing_characters_str), arg);
        return;
      }
      qfl = qf_get_curlist(qi);
***************
*** 6106,6112 ****
      p = skip_vimgrep_pat(eap->arg, &args->spat, &args->flags);
      if (p == NULL)
      {
!       emsg(_(e_invalpat));
        return FAIL;
      }
  
--- 6106,6112 ----
      p = skip_vimgrep_pat(eap->arg, &args->spat, &args->flags);
      if (p == NULL)
      {
!       emsg(_(e_invalid_search_pattern_or_delimiter));
        return FAIL;
      }
  
***************
*** 8399,8405 ****
      if (list_arg->v_type != VAR_LIST)
        emsg(_(e_list_required));
      else if (recursive != 0)
!       emsg(_(e_au_recursive));
      else
      {
        list_T  *l = list_arg->vval.v_list;
--- 8399,8405 ----
      if (list_arg->v_type != VAR_LIST)
        emsg(_(e_list_required));
      else if (recursive != 0)
!       emsg(_(e_autocommand_caused_recursive_behavior));
      else
      {
        list_T  *l = list_arg->vval.v_list;
*** ../vim-8.2.3969/src/regexp_bt.c     2021-12-31 23:15:48.829600062 +0000
--- src/regexp_bt.c     2022-01-01 15:48:39.895236206 +0000
***************
*** 2451,2457 ****
        if (curchr == Magic(')'))
            EMSG2_RET_NULL(_(e_unmatched_str_close), reg_magic == MAGIC_ALL);
        else
!           EMSG_RET_NULL(_(e_trailing));       // "Can't happen".
        // NOTREACHED
      }
      // Here we set the flag allowing back references to this set of
--- 2451,2457 ----
        if (curchr == Magic(')'))
            EMSG2_RET_NULL(_(e_unmatched_str_close), reg_magic == MAGIC_ALL);
        else
!           EMSG_RET_NULL(_(e_trailing_characters));    // "Can't happen".
        // NOTREACHED
      }
      // Here we set the flag allowing back references to this set of
***************
*** 3139,3145 ****
  
      if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
      {
!       emsg(_(e_maxmempat));
        return NULL;
      }
      if (ga_grow(&regstack, sizeof(regitem_T)) == FAIL)
--- 3139,3145 ----
  
      if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
      {
!       emsg(_(e_pattern_uses_more_memory_than_maxmempattern));
        return NULL;
      }
      if (ga_grow(&regstack, sizeof(regitem_T)) == FAIL)
***************
*** 4213,4219 ****
                    // a regstar_T on the regstack.
                    if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
                    {
!                       emsg(_(e_maxmempat));
                        status = RA_FAIL;
                    }
                    else if (ga_grow(&regstack, sizeof(regstar_T)) == FAIL)
--- 4213,4219 ----
                    // a regstar_T on the regstack.
                    if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
                    {
!                       emsg(_(e_pattern_uses_more_memory_than_maxmempattern));
                        status = RA_FAIL;
                    }
                    else if (ga_grow(&regstack, sizeof(regstar_T)) == FAIL)
***************
*** 4258,4264 ****
            // Need a bit of room to store extra positions.
            if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
            {
!               emsg(_(e_maxmempat));
                status = RA_FAIL;
            }
            else if (ga_grow(&regstack, sizeof(regbehind_T)) == FAIL)
--- 4258,4264 ----
            // Need a bit of room to store extra positions.
            if ((long)((unsigned)regstack.ga_len >> 10) >= p_mmp)
            {
!               emsg(_(e_pattern_uses_more_memory_than_maxmempattern));
                status = RA_FAIL;
            }
            else if (ga_grow(&regstack, sizeof(regbehind_T)) == FAIL)
*** ../vim-8.2.3969/src/regexp_nfa.c    2021-12-27 17:21:38.016449116 +0000
--- src/regexp_nfa.c    2022-01-01 15:48:44.695230945 +0000
***************
*** 4660,4666 ****
  
                if ((long)(newsize >> 10) >= p_mmp)
                {
!                   emsg(_(e_maxmempat));
                    --depth;
                    return NULL;
                }
--- 4660,4666 ----
  
                if ((long)(newsize >> 10) >= p_mmp)
                {
!                   emsg(_(e_pattern_uses_more_memory_than_maxmempattern));
                    --depth;
                    return NULL;
                }
***************
*** 5002,5008 ****
  
            if ((long)(newsize >> 10) >= p_mmp)
            {
!               emsg(_(e_maxmempat));
                return NULL;
            }
            newl = alloc(newsize);
--- 5002,5008 ----
  
            if ((long)(newsize >> 10) >= p_mmp)
            {
!               emsg(_(e_pattern_uses_more_memory_than_maxmempattern));
                return NULL;
            }
            newl = alloc(newsize);
*** ../vim-8.2.3969/src/scriptfile.c    2022-01-01 14:19:44.052353829 +0000
--- src/scriptfile.c    2022-01-01 15:53:59.270845727 +0000
***************
*** 359,365 ****
        char *basepath = path == p_rtp ? "runtimepath" : "packpath";
  
        if (flags & DIP_ERR)
!           semsg(_(e_dirnotf), basepath, name);
        else if (p_verbose > 0)
        {
            verbose_enter();
--- 359,365 ----
        char *basepath = path == p_rtp ? "runtimepath" : "packpath";
  
        if (flags & DIP_ERR)
!           semsg(_(e_directory_not_found_in_str_str), basepath, name);
        else if (p_verbose > 0)
        {
            verbose_enter();
*** ../vim-8.2.3969/src/sign.c  2022-01-01 14:19:44.052353829 +0000
--- src/sign.c  2022-01-01 15:37:40.492288136 +0000
***************
*** 1630,1636 ****
            filename = arg;
            *buf = buflist_findnr((int)getdigits(&arg));
            if (*skipwhite(arg) != NUL)
!               semsg(_(e_trailing_arg), arg);
            break;
        }
        else
--- 1630,1636 ----
            filename = arg;
            *buf = buflist_findnr((int)getdigits(&arg));
            if (*skipwhite(arg) != NUL)
!               semsg(_(e_trailing_characters_str), arg);
            break;
        }
        else
*** ../vim-8.2.3969/src/spellfile.c     2022-01-01 14:19:44.052353829 +0000
--- src/spellfile.c     2022-01-01 15:51:17.627052489 +0000
***************
*** 6214,6220 ****
  
        if (*curwin->w_s->b_p_spf == NUL)
        {
!           semsg(_(e_notset), "spellfile");
            return;
        }
        fnamebuf = alloc(MAXPATHL);
--- 6214,6220 ----
  
        if (*curwin->w_s->b_p_spf == NUL)
        {
!           semsg(_(e_option_str_is_not_set), "spellfile");
            return;
        }
        fnamebuf = alloc(MAXPATHL);
*** ../vim-8.2.3969/src/undo.c  2021-12-13 13:11:00.692262343 +0000
--- src/undo.c  2022-01-01 15:47:35.267329756 +0000
***************
*** 333,339 ****
      // caller of getcmdline() may get confused.
      if (textwinlock != 0 || textlock != 0)
      {
!       emsg(_(e_textlock));
        return FALSE;
      }
  
--- 333,339 ----
      // caller of getcmdline() may get confused.
      if (textwinlock != 0 || textlock != 0)
      {
!       emsg(_(e_not_allowed_to_change_text_here));
        return FALSE;
      }
  
***************
*** 438,449 ****
        {
            if (netbeans_is_guarded(top, bot))
            {
!               emsg(_(e_guarded));
                return FAIL;
            }
            if (curbuf->b_p_ro)
            {
!               emsg(_(e_nbreadonly));
                return FAIL;
            }
        }
--- 438,449 ----
        {
            if (netbeans_is_guarded(top, bot))
            {
!               emsg(_(e_region_is_guarded_cannot_modify));
                return FAIL;
            }
            if (curbuf->b_p_ro)
            {
!               emsg(_(e_netbeans_does_not_allow_changes_in_read_only_files));
                return FAIL;
            }
        }
*** ../vim-8.2.3969/src/userfunc.c      2022-01-01 14:19:44.056353820 +0000
--- src/userfunc.c      2022-01-01 15:37:46.444278728 +0000
***************
*** 1127,1133 ****
  
      if (!ends_excmd2(*arg, skipwhite(*arg + 1)))
      {
!       semsg(_(e_trailing_arg), *arg + 1);
        return FAIL;
      }
  
--- 1127,1133 ----
  
      if (!ends_excmd2(*arg, skipwhite(*arg + 1)))
      {
!       semsg(_(e_trailing_characters_str), *arg + 1);
        return FAIL;
      }
  
***************
*** 4148,4154 ****
      {
        if (!ends_excmd(*skipwhite(p)))
        {
!           semsg(_(e_trailing_arg), p);
            goto ret_free;
        }
        set_nextcmd(eap, p);
--- 4148,4154 ----
      {
        if (!ends_excmd(*skipwhite(p)))
        {
!           semsg(_(e_trailing_characters_str), p);
            goto ret_free;
        }
        set_nextcmd(eap, p);
***************
*** 4364,4370 ****
                                     && (vim9script || eap->cmdidx == CMD_def))
            && !eap->skip
            && !did_emsg)
!       semsg(_(e_trailing_arg), p);
  
      /*
       * Read the body of the function, until "}", ":endfunction" or ":enddef" 
is
--- 4364,4370 ----
                                     && (vim9script || eap->cmdidx == CMD_def))
            && !eap->skip
            && !did_emsg)
!       semsg(_(e_trailing_characters_str), p);
  
      /*
       * Read the body of the function, until "}", ":endfunction" or ":enddef" 
is
***************
*** 4899,4905 ****
      if (!ends_excmd(*skipwhite(p)))
      {
        vim_free(name);
!       semsg(_(e_trailing_arg), p);
        return;
      }
      set_nextcmd(eap, p);
--- 4899,4905 ----
      if (!ends_excmd(*skipwhite(p)))
      {
        vim_free(name);
!       semsg(_(e_trailing_characters_str), p);
        return;
      }
      set_nextcmd(eap, p);
***************
*** 5262,5268 ****
            if (!failed && !aborting())
            {
                emsg_severe = TRUE;
!               semsg(_(e_trailing_arg), arg);
            }
        }
        else
--- 5262,5268 ----
            if (!failed && !aborting())
            {
                emsg_severe = TRUE;
!               semsg(_(e_trailing_characters_str), arg);
            }
        }
        else
*** ../vim-8.2.3969/src/vim9cmds.c      2021-12-31 22:48:56.591368895 +0000
--- src/vim9cmds.c      2022-01-01 15:37:52.024269913 +0000
***************
*** 408,414 ****
      }
      if (!ends_excmd2(arg, skipwhite(p)))
      {
!       semsg(_(e_trailing_arg), p);
        return NULL;
      }
      if (cctx->ctx_skip == SKIP_YES)
--- 408,414 ----
      }
      if (!ends_excmd2(arg, skipwhite(p)))
      {
!       semsg(_(e_trailing_characters_str), p);
        return NULL;
      }
      if (cctx->ctx_skip == SKIP_YES)
***************
*** 578,584 ****
      if (!ends_excmd2(arg, skipwhite(p)))
      {
        clear_ppconst(&ppconst);
!       semsg(_(e_trailing_arg), p);
        return NULL;
      }
      if (scope->se_skip_save == SKIP_YES)
--- 578,584 ----
      if (!ends_excmd2(arg, skipwhite(p)))
      {
        clear_ppconst(&ppconst);
!       semsg(_(e_trailing_characters_str), p);
        return NULL;
      }
      if (scope->se_skip_save == SKIP_YES)
***************
*** 1075,1081 ****
  
      if (!ends_excmd2(arg, skipwhite(p)))
      {
!       semsg(_(e_trailing_arg), p);
        return NULL;
      }
  
--- 1075,1081 ----
  
      if (!ends_excmd2(arg, skipwhite(p)))
      {
!       semsg(_(e_trailing_characters_str), p);
        return NULL;
      }
  
***************
*** 2021,2027 ****
                                       || GA_GROW_FAILS(&cctx->ctx_instr, 1))
            {
                if (trailing_error)
!                   semsg(_(e_trailing_arg), cmd);
                clear_instr_ga(&cctx->ctx_instr);
                cctx->ctx_instr = save_ga;
                return NULL;
--- 2021,2027 ----
                                       || GA_GROW_FAILS(&cctx->ctx_instr, 1))
            {
                if (trailing_error)
!                   semsg(_(e_trailing_characters_str), cmd);
                clear_instr_ga(&cctx->ctx_instr);
                cctx->ctx_instr = save_ga;
                return NULL;
*** ../vim-8.2.3969/src/vim9compile.c   2022-01-01 14:25:52.315548310 +0000
--- src/vim9compile.c   2022-01-01 15:37:55.160264949 +0000
***************
*** 2639,2645 ****
                && !(*line == '#' && (line == cctx.ctx_line_start
                                                    || VIM_ISWHITE(line[-1]))))
        {
!           semsg(_(e_trailing_arg), line);
            goto erret;
        }
        else if (line != NULL && vim9_bad_comment(skipwhite(line)))
--- 2639,2645 ----
                && !(*line == '#' && (line == cctx.ctx_line_start
                                                    || VIM_ISWHITE(line[-1]))))
        {
!           semsg(_(e_trailing_characters_str), line);
            goto erret;
        }
        else if (line != NULL && vim9_bad_comment(skipwhite(line)))
*** ../vim-8.2.3969/src/vim9execute.c   2022-01-01 14:19:44.056353820 +0000
--- src/vim9execute.c   2022-01-01 15:43:20.747743490 +0000
***************
*** 3148,3154 ****
                        if (item != NULL)
                        {
                            SOURCING_LNUM = iptr->isn_lnum;
!                           semsg(_(e_duplicate_key), key);
                            dict_unref(dict);
                            goto on_error;
                        }
--- 3148,3154 ----
                        if (item != NULL)
                        {
                            SOURCING_LNUM = iptr->isn_lnum;
!                           semsg(_(e_duplicate_key_in_dicitonary), key);
                            dict_unref(dict);
                            goto on_error;
                        }
*** ../vim-8.2.3969/src/vim9expr.c      2022-01-01 14:19:44.056353820 +0000
--- src/vim9expr.c      2022-01-01 15:43:50.387695541 +0000
***************
*** 517,523 ****
                                       || GA_GROW_FAILS(&cctx->ctx_instr, 1))
      {
        if (trailing_error)
!           semsg(_(e_trailing_arg), s);
        clear_instr_ga(&cctx->ctx_instr);
        cctx->ctx_instr = save_ga;
        ++cctx->ctx_type_stack.ga_len;
--- 517,523 ----
                                       || GA_GROW_FAILS(&cctx->ctx_instr, 1))
      {
        if (trailing_error)
!           semsg(_(e_trailing_characters_str), s);
        clear_instr_ga(&cctx->ctx_instr);
        cctx->ctx_instr = save_ga;
        ++cctx->ctx_type_stack.ga_len;
***************
*** 1090,1096 ****
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key), key);
                goto failret;
            }
            item = dictitem_alloc(key);
--- 1090,1096 ----
            item = dict_find(d, key, -1);
            if (item != NULL)
            {
!               semsg(_(e_duplicate_key_in_dicitonary), key);
                goto failret;
            }
            item = dictitem_alloc(key);
***************
*** 1108,1114 ****
            if (*skipwhite(*arg) == ':')
                semsg(_(e_no_white_space_allowed_before_str_str), ":", *arg);
            else
!               semsg(_(e_missing_dict_colon), *arg);
            return FAIL;
        }
        whitep = *arg + 1;
--- 1108,1114 ----
            if (*skipwhite(*arg) == ':')
                semsg(_(e_no_white_space_allowed_before_str_str), ":", *arg);
            else
!               semsg(_(e_missing_colon_in_dictionary), *arg);
            return FAIL;
        }
        whitep = *arg + 1;
***************
*** 1140,1146 ****
            break;
        if (**arg != ',')
        {
!           semsg(_(e_missing_dict_comma), *arg);
            goto failret;
        }
        if (IS_WHITE_OR_NUL(*whitep))
--- 1140,1146 ----
            break;
        if (**arg != ',')
        {
!           semsg(_(e_missing_comma_in_dictionary), *arg);
            goto failret;
        }
        if (IS_WHITE_OR_NUL(*whitep))
***************
*** 1711,1717 ****
                p = *arg;
                if (!eval_isnamec1(*p))
                {
!                   semsg(_(e_trailing_arg), pstart);
                    return FAIL;
                }
                if (ASCII_ISALPHA(*p) && p[1] == ':')
--- 1711,1717 ----
                p = *arg;
                if (!eval_isnamec1(*p))
                {
!                   semsg(_(e_trailing_characters_str), pstart);
                    return FAIL;
                }
                if (ASCII_ISALPHA(*p) && p[1] == ':')
*** ../vim-8.2.3969/src/window.c        2021-12-31 22:48:56.595368891 +0000
--- src/window.c        2022-01-01 15:55:49.634696506 +0000
***************
*** 2496,2502 ****
        return FAIL; // window is already being closed
      if (win_unlisted(win))
      {
!       emsg(_(e_autocmd_close));
        return FAIL;
      }
      if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
--- 2496,2502 ----
        return FAIL; // window is already being closed
      if (win_unlisted(win))
      {
!       emsg(_(e_cannot_close_autocmd_or_popup_window));
        return FAIL;
      }
      if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window())
*** ../vim-8.2.3969/src/version.c       2022-01-01 14:59:39.543684481 +0000
--- src/version.c       2022-01-01 15:57:38.730543933 +0000
***************
*** 751,752 ****
--- 751,754 ----
  {   /* Add new patch number below this line */
+ /**/
+     3970,
  /**/

-- 
If Microsoft would build a car...
... You'd have to press the "Start" button to turn the engine off.

 /// 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/20220101155941.DDD891C0A5B%40moolenaar.net.

Raspunde prin e-mail lui