Patch 8.2.3986
Problem:    Error messages are spread out.
Solution:   Move more error messages to errors.h.
Files:      src/errors.h, src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c,
            src/fileio.c, src/fold.c, src/gui_x11.c, src/hardcopy.c,
            src/help.c, src/highlight.c, src/if_cscope.c, src/json.c,
            src/map.c, src/netbeans.c, src/popupwin.c, src/usercmd.c,
            src/userfunc.c


*** ../vim-8.2.3985/src/errors.h        2022-01-02 19:25:22.842078507 +0000
--- src/errors.h        2022-01-02 20:09:38.765497610 +0000
***************
*** 1027,1047 ****
  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"));
  #endif
  #ifdef FEAT_EVAL
  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[]
        INIT(= N_("E470: Command aborted"));
  EXTERN char e_argument_required[]
--- 1027,1084 ----
  EXTERN char e_invalid_expression_received[]
        INIT(= N_("E449: Invalid expression received"));
  #endif
! EXTERN char e_buffer_number_text_or_list_required[]
!       INIT(= N_("E450: buffer number, text or a list required"));
! EXTERN char e_expected_right_curly_str[]
!       INIT(= N_("E451: Expected }: %s"));
! #ifdef FEAT_EVAL
! EXTERN char e_double_semicolon_in_list_of_variables[]
!       INIT(= N_("E452: Double ; in list of variables"));
! #endif
! EXTERN char e_ul_color_unknown[]
!       INIT(= N_("E453: UL color unknown"));
! EXTERN char e_function_list_was_modified[]
!       INIT(= N_("E454: function list was modified"));
! #ifdef FEAT_POSTSCRIPT
! EXTERN char e_error_writing_to_postscript_output_file[]
!       INIT(= N_("E455: Error writing to PostScript output file"));
! EXTERN char e_cant_open_file_str_2[]
!       INIT(= N_("E456: Can't open file \"%s\""));
! EXTERN char e_cant_find_postscript_resource_file_str_ps[]
!       INIT(= N_("E456: Can't find PostScript resource file \"%s.ps\""));
! EXTERN char e_cant_read_postscript_resource_file_str[]
!       INIT(= N_("E457: Can't read PostScript resource file \"%s\""));
! #endif
! EXTERN char e_cannot_allocate_colormap_entry_some_colors_may_be_incorrect[]
!       INIT(= N_("E458: Cannot allocate colormap entry, some colors may be 
incorrect"));
  #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
+ EXTERN char e_entries_missing_in_mapset_dict_argument[]
+       INIT(= N_("E460: entries missing in mapset() dict argument"));
  #ifdef FEAT_EVAL
  EXTERN char e_illegal_variable_name_str[]
        INIT(= N_("E461: Illegal variable name: %s"));
  #endif
+ EXTERN char e_could_not_prepare_for_reloading_str[]
+       INIT(= N_("E462: Could not prepare for reloading \"%s\""));
  #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_winsize_requires_two_number_arguments[]
+       INIT(= N_("E465: :winsize requires two number arguments"));
+ EXTERN char e_winpos_requires_two_number_arguments[]
+       INIT(= N_("E466: :winpos requires two number arguments"));
+ EXTERN char e_custom_completion_requires_function_argument[]
+       INIT(= N_("E467: Custom completion requires a function argument"));
+ EXTERN char e_completion_argument_only_allowed_for_custom_completion[]
+       INIT(= N_("E468: Completion argument only allowed for custom 
completion"));
+ EXTERN char e_invalid_cscopequickfix_flag_chr_for_chr[]
+       INIT(= N_("E469: invalid cscopequickfix flag %c for %c"));
  EXTERN char e_command_aborted[]
        INIT(= N_("E470: Command aborted"));
  EXTERN char e_argument_required[]
***************
*** 1060,1071 ****
        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[]
--- 1097,1116 ----
        INIT(= N_("E475: Invalid value for argument %s: %s"));
  EXTERN char e_invalid_command[]
        INIT(= N_("E476: Invalid command"));
  #ifdef FEAT_EVAL
  EXTERN char e_invalid_command_str[]
        INIT(= N_("E476: Invalid command: %s"));
  #endif
+ EXTERN char e_no_bang_allowed[]
+       INIT(= N_("E477: No ! allowed"));
+ EXTERN char e_dont_panic[]
+       INIT(= N_("E478: Don't panic!"));
+ 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"));
  EXTERN char e_cant_create_file_str[]
        INIT(= N_("E482: Can't create file %s"));
  EXTERN char e_cant_get_temp_file_name[]
***************
*** 1080,1109 ****
        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"));
  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[]
        INIT(= N_("is a directory"));
        // E503
  EXTERN char e_is_not_file_or_writable_device[]
        INIT(= N_("is not a file or writable device"));
! 
        // E504
  EXTERN char e_is_read_only_cannot_override_W_in_cpoptions[]
        INIT(= N_("is read-only (cannot override: \"W\" in 'cpoptions')"));
        // E505
  EXTERN char e_is_read_only_add_bang_to_override[]
        INIT(= N_("is read-only (add ! to override)"));
  EXTERN char e_canot_write_to_backup_file_add_bang_to_override[]
        INIT(= N_("E506: Can't write to backup file (add ! to override)"));
  EXTERN char e_close_error_for_backup_file_add_bang_to_write_anyway[]
--- 1125,1180 ----
        INIT(= N_("E486: Pattern not found: %s"));
  EXTERN char e_argument_must_be_positive[]
        INIT(= N_("E487: Argument must be positive"));
  EXTERN char e_trailing_characters[]
        INIT(= N_("E488: Trailing characters"));
  EXTERN char e_trailing_characters_str[]
        INIT(= N_("E488: Trailing characters: %s"));
! EXTERN char e_no_call_stack_to_substitute_for_stack[]
!       INIT(= N_("E489: no call stack to substitute for \"<stack>\""));
! #ifdef FEAT_FOLDING
! EXTERN char e_no_fold_found[]
!       INIT(= N_("E490: No fold found"));
! #endif
! #ifdef FEAT_EVAL
! EXTERN char e_json_decode_error_at_str[]
!       INIT(= N_("E491: json decode error at '%s'"));
! #endif
! EXTERN char e_not_an_editor_command[]
!       INIT(= N_("E492: Not an editor command"));
! EXTERN char e_backwards_range_given[]
!       INIT(= N_("E493: Backwards range given"));
! EXTERN char e_use_w_or_w_gt_gt[]
!       INIT(= N_("E494: Use w or w>>"));
! EXTERN char e_no_autocommand_file_name_to_substitute_for_afile[]
!       INIT(= N_("E495: no autocommand file name to substitute for 
\"<afile>\""));
! EXTERN char e_no_autocommand_buffer_name_to_substitute_for_abuf[]
!       INIT(= N_("E496: no autocommand buffer number to substitute for 
\"<abuf>\""));
! EXTERN char e_no_autocommand_match_name_to_substitute_for_amatch[]
!       INIT(= N_("E497: no autocommand match name to substitute for 
\"<amatch>\""));
! EXTERN char e_no_source_file_name_to_substitute_for_sfile[]
!       INIT(= N_("E498: no :source file name to substitute for \"<sfile>\""));
! EXTERN char e_empty_file_name_for_percent_or_hash_only_works_with_ph[]
!       INIT(= N_("E499: Empty file name for '%' or '#', only works with 
\":p:h\""));
! EXTERN char e_evaluates_to_an_empty_string[]
!       INIT(= N_("E500: Evaluates to an empty string"));
! EXTERN char e_at_end_of_file[]
!       INIT(= N_("E501: At end-of-file"));
        // E502
  EXTERN char e_is_a_directory[]
        INIT(= N_("is a directory"));
        // E503
  EXTERN char e_is_not_file_or_writable_device[]
        INIT(= N_("is not a file or writable device"));
! EXTERN char e_str_is_not_file_or_writable_device[]
!       INIT(= N_("E503: \"%s\" is not a file or writable device"));
        // E504
  EXTERN char e_is_read_only_cannot_override_W_in_cpoptions[]
        INIT(= N_("is read-only (cannot override: \"W\" in 'cpoptions')"));
        // E505
  EXTERN char e_is_read_only_add_bang_to_override[]
        INIT(= N_("is read-only (add ! to override)"));
+ EXTERN char e_str_is_read_only_add_bang_to_override[]
+       INIT(= N_("E505: \"%s\" is read-only (add ! to override)"));
  EXTERN char e_canot_write_to_backup_file_add_bang_to_override[]
        INIT(= N_("E506: Can't write to backup file (add ! to override)"));
  EXTERN char e_close_error_for_backup_file_add_bang_to_write_anyway[]
***************
*** 1114,1119 ****
--- 1185,1194 ----
        INIT(= N_("E509: Cannot create backup file (add ! to override)"));
  EXTERN char e_cant_make_backup_file_add_bang_to_write_anyway[]
        INIT(= N_("E510: Can't make backup file (add ! to write anyway)"));
+ #ifdef FEAT_NETBEANS_INTG
+ EXTERN char e_netbeans_already_connected[]
+       INIT(= N_("E511: netbeans already connected"));
+ #endif
  EXTERN char e_close_failed[]
        INIT(= N_("E512: Close failed"));
  EXTERN char e_write_error_conversion_failed_make_fenc_empty_to_override[]
***************
*** 1128,1133 ****
--- 1203,1209 ----
        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[]
*** ../vim-8.2.3985/src/evalvars.c      2022-01-01 16:20:56.900401501 +0000
--- src/evalvars.c      2022-01-02 19:35:06.848759006 +0000
***************
*** 1063,1069 ****
            {
                if (*semicolon == 1)
                {
!                   emsg(_("E452: Double ; in list of variables"));
                    return NULL;
                }
                *semicolon = 1;
--- 1063,1069 ----
            {
                if (*semicolon == 1)
                {
!                   emsg(_(e_double_semicolon_in_list_of_variables));
                    return NULL;
                }
                *semicolon = 1;
*** ../vim-8.2.3985/src/ex_cmds.c       2022-01-01 15:58:19.110486371 +0000
--- src/ex_cmds.c       2022-01-02 20:07:29.933727657 +0000
***************
*** 1862,1868 ****
  {
      if (mch_nodetype(fname) == NODE_OTHER)
      {
!       semsg(_("E503: \"%s\" is not a file or writable device"), fname);
        return FAIL;
      }
      return OK;
--- 1862,1868 ----
  {
      if (mch_nodetype(fname) == NODE_OTHER)
      {
!       semsg(_(e_str_is_not_file_or_writable_device), fname);
        return FAIL;
      }
      return OK;
***************
*** 2357,2364 ****
        if (buf->b_p_ro)
            emsg(_(e_readonly_option_is_set_add_bang_to_override));
        else
!           semsg(_("E505: \"%s\" is read-only (add ! to override)"),
!                   buf->b_fname);
        return TRUE;
      }
  
--- 2357,2363 ----
        if (buf->b_p_ro)
            emsg(_(e_readonly_option_is_set_add_bang_to_override));
        else
!           semsg(_(e_str_is_read_only_add_bang_to_override), buf->b_fname);
        return TRUE;
      }
  
*** ../vim-8.2.3985/src/ex_docmd.c      2022-01-02 17:00:36.998093306 +0000
--- src/ex_docmd.c      2022-01-02 20:08:03.789667393 +0000
***************
*** 543,549 ****
            if (curbuf->b_ml.ml_flags & ML_EMPTY)
                emsg(_(e_empty_buffer));
            else
!               emsg(_("E501: At end-of-file"));
        }
      }
  
--- 543,549 ----
            if (curbuf->b_ml.ml_flags & ML_EMPTY)
                emsg(_(e_empty_buffer));
            else
!               emsg(_(e_at_end_of_file));
        }
      }
  
***************
*** 2015,2021 ****
      {
        if (!ea.skip)
        {
!           STRCPY(IObuff, _("E492: Not an editor command"));
            if (!sourcing)
            {
                // If the modifier was parsed OK the error must be in the
--- 2015,2021 ----
      {
        if (!ea.skip)
        {
!           STRCPY(IObuff, _(e_not_an_editor_command));
            if (!sourcing)
            {
                // If the modifier was parsed OK the error must be in the
***************
*** 2152,2158 ****
            {
                if (sourcing || exmode_active)
                {
!                   errormsg = _("E493: Backwards range given");
                    goto doend;
                }
                if (ask_yesno((char_u *)
--- 2152,2158 ----
            {
                if (sourcing || exmode_active)
                {
!                   errormsg = _(e_backwards_range_given);
                    goto doend;
                }
                if (ask_yesno((char_u *)
***************
*** 2225,2231 ****
        {
            if (*++ea.arg != '>')               // typed wrong
            {
!               errormsg = _("E494: Use w or w>>");
                goto doend;
            }
            ea.arg = skipwhite(ea.arg + 1);
--- 2225,2231 ----
        {
            if (*++ea.arg != '>')               // typed wrong
            {
!               errormsg = _(e_use_w_or_w_gt_gt);
                goto doend;
            }
            ea.arg = skipwhite(ea.arg + 1);
***************
*** 7644,7650 ****
      if (*p != NUL && *arg == NUL)
        set_shellsize(w, h, TRUE);
      else
!       emsg(_("E465: :winsize requires two number arguments"));
  }
  
      static void
--- 7644,7650 ----
      if (*p != NUL && *arg == NUL)
        set_shellsize(w, h, TRUE);
      else
!       emsg(_(e_winsize_requires_two_number_arguments));
  }
  
      static void
***************
*** 7725,7731 ****
        y = getdigits(&arg);
        if (*p == NUL || *arg != NUL)
        {
!           emsg(_("E466: :winpos requires two number arguments"));
            return;
        }
  # ifdef FEAT_GUI
--- 7725,7731 ----
        y = getdigits(&arg);
        if (*p == NUL || *arg != NUL)
        {
!           emsg(_(e_winpos_requires_two_number_arguments));
            return;
        }
  # ifdef FEAT_GUI
***************
*** 9104,9110 ****
                }
                if (result == NULL)
                {
!                   *errormsg = _("E495: no autocommand file name to substitute 
for \"<afile>\"");
                    return NULL;
                }
                result = shorten_fname1(result);
--- 9104,9110 ----
                }
                if (result == NULL)
                {
!                   *errormsg = 
_(e_no_autocommand_file_name_to_substitute_for_afile);
                    return NULL;
                }
                result = shorten_fname1(result);
***************
*** 9113,9119 ****
        case SPEC_ABUF:         // buffer number for autocommand
                if (autocmd_bufnr <= 0)
                {
!                   *errormsg = _("E496: no autocommand buffer number to 
substitute for \"<abuf>\"");
                    return NULL;
                }
                sprintf((char *)strbuf, "%d", autocmd_bufnr);
--- 9113,9119 ----
        case SPEC_ABUF:         // buffer number for autocommand
                if (autocmd_bufnr <= 0)
                {
!                   *errormsg = 
_(e_no_autocommand_buffer_name_to_substitute_for_abuf);
                    return NULL;
                }
                sprintf((char *)strbuf, "%d", autocmd_bufnr);
***************
*** 9124,9130 ****
                result = autocmd_match;
                if (result == NULL)
                {
!                   *errormsg = _("E497: no autocommand match name to 
substitute for \"<amatch>\"");
                    return NULL;
                }
                break;
--- 9124,9130 ----
                result = autocmd_match;
                if (result == NULL)
                {
!                   *errormsg = 
_(e_no_autocommand_match_name_to_substitute_for_amatch);
                    return NULL;
                }
                break;
***************
*** 9136,9143 ****
                if (result == NULL)
                {
                    *errormsg = spec_idx == SPEC_SFILE
!                       ? _("E498: no :source file name to substitute for 
\"<sfile>\"")
!                       : _("E489: no call stack to substitute for 
\"<stack>\"");
                    return NULL;
                }
                resultbuf = result;         // remember allocated string
--- 9136,9143 ----
                if (result == NULL)
                {
                    *errormsg = spec_idx == SPEC_SFILE
!                       ? _(e_no_source_file_name_to_substitute_for_sfile)
!                       : _(e_no_call_stack_to_substitute_for_stack);
                    return NULL;
                }
                resultbuf = result;         // remember allocated string
***************
*** 9212,9220 ****
      {
        if (valid != VALID_HEAD + VALID_PATH)
            // xgettext:no-c-format
!           *errormsg = _("E499: Empty file name for '%' or '#', only works 
with \":p:h\"");
        else
!           *errormsg = _("E500: Evaluates to an empty string");
        result = NULL;
      }
      else
--- 9212,9220 ----
      {
        if (valid != VALID_HEAD + VALID_PATH)
            // xgettext:no-c-format
!           *errormsg = 
_(e_empty_file_name_for_percent_or_hash_only_works_with_ph);
        else
!           *errormsg = _(e_evaluates_to_an_empty_string);
        result = NULL;
      }
      else
*** ../vim-8.2.3985/src/fileio.c        2022-01-02 17:00:36.998093306 +0000
--- src/fileio.c        2022-01-02 19:48:27.847550069 +0000
***************
*** 4385,4392 ****
            if (savebuf == NULL || saved == FAIL || buf != curbuf
                                      || move_lines(buf, savebuf) == FAIL)
            {
!               semsg(_("E462: Could not prepare for reloading \"%s\""),
!                                                           buf->b_fname);
                saved = FAIL;
            }
        }
--- 4385,4391 ----
            if (savebuf == NULL || saved == FAIL || buf != curbuf
                                      || move_lines(buf, savebuf) == FAIL)
            {
!               semsg(_(e_could_not_prepare_for_reloading_str), buf->b_fname);
                saved = FAIL;
            }
        }
*** ../vim-8.2.3985/src/fold.c  2022-01-02 19:25:22.846078499 +0000
--- src/fold.c  2022-01-02 20:01:37.474343936 +0000
***************
*** 65,72 ****
  static void foldUpdateIEMS(win_T *wp, linenr_T top, linenr_T bot);
  static void parseMarker(win_T *wp);
  
- static char *e_nofold = N_("E490: No fold found");
- 
  /*
   * While updating the folds lines between invalid_top and invalid_bot have an
   * undefined fold level.  Only used for the window currently being updated.
--- 65,70 ----
***************
*** 412,418 ****
            (void)hasFolding(lnum, NULL, &lnum_next);
      }
      if (done == DONE_NOTHING)
!       emsg(_(e_nofold));
      // Force a redraw to remove the Visual highlighting.
      if (had_visual)
        redraw_curbuf_later(INVERTED);
--- 410,416 ----
            (void)hasFolding(lnum, NULL, &lnum_next);
      }
      if (done == DONE_NOTHING)
!       emsg(_(e_no_fold_found));
      // Force a redraw to remove the Visual highlighting.
      if (had_visual)
        redraw_curbuf_later(INVERTED);
***************
*** 785,791 ****
      }
      if (!did_one)
      {
!       emsg(_(e_nofold));
        // Force a redraw to remove the Visual highlighting.
        if (had_visual)
            redraw_curbuf_later(INVERTED);
--- 783,789 ----
      }
      if (!did_one)
      {
!       emsg(_(e_no_fold_found));
        // Force a redraw to remove the Visual highlighting.
        if (had_visual)
            redraw_curbuf_later(INVERTED);
***************
*** 1235,1241 ****
        {
            // Only give an error message when no fold could be opened.
            if (n == 0 && !(done & DONE_FOLD))
!               emsg(_(e_nofold));
            break;
        }
      }
--- 1233,1239 ----
        {
            // Only give an error message when no fold could be opened.
            if (n == 0 && !(done & DONE_FOLD))
!               emsg(_(e_no_fold_found));
            break;
        }
      }
***************
*** 1387,1393 ****
        done |= DONE_FOLD;
      }
      else if (donep == NULL && wp == curwin)
!       emsg(_(e_nofold));
  
      if (donep != NULL)
        *donep |= done;
--- 1385,1391 ----
        done |= DONE_FOLD;
      }
      else if (donep == NULL && wp == curwin)
!       emsg(_(e_no_fold_found));
  
      if (donep != NULL)
        *donep |= done;
*** ../vim-8.2.3985/src/gui_x11.c       2022-01-01 19:33:46.769076797 +0000
--- src/gui_x11.c       2022-01-02 19:36:12.408615922 +0000
***************
*** 1463,1469 ****
      }
  
      if (gui.color_approx)
!       emsg(_("Vim E458: Cannot allocate colormap entry, some colors may be 
incorrect"));
  
  #ifdef FEAT_BEVAL_GUI
      gui_init_tooltip_font();
--- 1463,1469 ----
      }
  
      if (gui.color_approx)
!       emsg(_(e_cannot_allocate_colormap_entry_some_colors_may_be_incorrect));
  
  #ifdef FEAT_BEVAL_GUI
      gui_init_tooltip_font();
*** ../vim-8.2.3985/src/hardcopy.c      2022-01-02 19:25:22.846078499 +0000
--- src/hardcopy.c      2022-01-02 19:44:12.891813777 +0000
***************
*** 1405,1411 ****
            && fwrite(buffer, sizeof(char_u), bytes, prt_ps_fd)
                                                             != (size_t)bytes)
      {
!       emsg(_("E455: Error writing to PostScript output file"));
        prt_file_error = TRUE;
      }
  }
--- 1405,1411 ----
            && fwrite(buffer, sizeof(char_u), bytes, prt_ps_fd)
                                                             != (size_t)bytes)
      {
!       emsg(_(e_error_writing_to_postscript_output_file));
        prt_file_error = TRUE;
      }
  }
***************
*** 1849,1855 ****
                                            PRT_FILE_BUFFER_LEN, fd_resource);
      if (ferror(fd_resource))
      {
!       semsg(_("E457: Can't read PostScript resource file \"%s\""),
                resource->filename);
        fclose(fd_resource);
        return FALSE;
--- 1849,1855 ----
                                            PRT_FILE_BUFFER_LEN, fd_resource);
      if (ferror(fd_resource))
      {
!       semsg(_(e_cant_read_postscript_resource_file_str),
                resource->filename);
        fclose(fd_resource);
        return FALSE;
***************
*** 2675,2681 ****
      fd_resource = mch_fopen((char *)resource->filename, READBIN);
      if (fd_resource == NULL)
      {
!       semsg(_("E456: Can't open file \"%s\""), resource->filename);
        return FALSE;
      }
      prt_dsc_resources("BeginResource", prt_resource_types[resource->type],
--- 2675,2681 ----
      fd_resource = mch_fopen((char *)resource->filename, READBIN);
      if (fd_resource == NULL)
      {
!       semsg(_(e_cant_open_file_str_2), resource->filename);
        return FALSE;
      }
      prt_dsc_resources("BeginResource", prt_resource_types[resource->type],
***************
*** 2689,2695 ****
                           sizeof(resource_buffer), fd_resource);
        if (ferror(fd_resource))
        {
!           semsg(_("E457: Can't read PostScript resource file \"%s\""),
                                                            resource->filename);
            fclose(fd_resource);
            return FALSE;
--- 2689,2695 ----
                           sizeof(resource_buffer), fd_resource);
        if (ferror(fd_resource))
        {
!           semsg(_(e_cant_read_postscript_resource_file_str),
                                                            resource->filename);
            fclose(fd_resource);
            return FALSE;
***************
*** 2805,2811 ****
      // Search for external resources VIM supplies
      if (!prt_find_resource("prolog", res_prolog))
      {
!       emsg(_("E456: Can't find PostScript resource file \"prolog.ps\""));
        goto theend;
      }
      if (!prt_open_resource(res_prolog))
--- 2805,2811 ----
      // Search for external resources VIM supplies
      if (!prt_find_resource("prolog", res_prolog))
      {
!       semsg(_(e_cant_find_postscript_resource_file_str_ps), "prolog");
        goto theend;
      }
      if (!prt_open_resource(res_prolog))
***************
*** 2817,2823 ****
        // Look for required version of multi-byte printing procset
        if (!prt_find_resource("cidfont", res_cidfont))
        {
!           emsg(_("E456: Can't find PostScript resource file \"cidfont.ps\""));
            goto theend;
        }
        if (!prt_open_resource(res_cidfont))
--- 2817,2823 ----
        // Look for required version of multi-byte printing procset
        if (!prt_find_resource("cidfont", res_cidfont))
        {
!           semsg(_(e_cant_find_postscript_resource_file_str_ps), "cidfont");
            goto theend;
        }
        if (!prt_open_resource(res_cidfont))
***************
*** 2849,2855 ****
                p_encoding = (char_u *)"latin1";
                if (!prt_find_resource((char *)p_encoding, res_encoding))
                {
!                   semsg(_("E456: Can't find PostScript resource file 
\"%s.ps\""),
                            p_encoding);
                    goto theend;
                }
--- 2849,2855 ----
                p_encoding = (char_u *)"latin1";
                if (!prt_find_resource((char *)p_encoding, res_encoding))
                {
!                   semsg(_(e_cant_find_postscript_resource_file_str_ps),
                            p_encoding);
                    goto theend;
                }
***************
*** 2870,2876 ****
            // Include ASCII range encoding vector
            if (!prt_find_resource(prt_ascii_encoding, res_encoding))
            {
!               semsg(_("E456: Can't find PostScript resource file \"%s.ps\""),
                                                          prt_ascii_encoding);
                goto theend;
            }
--- 2870,2876 ----
            // Include ASCII range encoding vector
            if (!prt_find_resource(prt_ascii_encoding, res_encoding))
            {
!               semsg(_(e_cant_find_postscript_resource_file_str_ps),
                                                          prt_ascii_encoding);
                goto theend;
            }
***************
*** 2899,2906 ****
        // Find user supplied CMap
        if (!prt_find_resource(prt_cmap, res_cmap))
        {
!           semsg(_("E456: Can't find PostScript resource file \"%s.ps\""),
!                                                                   prt_cmap);
            goto theend;
        }
        if (!prt_open_resource(res_cmap))
--- 2899,2905 ----
        // Find user supplied CMap
        if (!prt_find_resource(prt_cmap, res_cmap))
        {
!           semsg(_(e_cant_find_postscript_resource_file_str_ps), prt_cmap);
            goto theend;
        }
        if (!prt_open_resource(res_cmap))
*** ../vim-8.2.3985/src/help.c  2022-01-01 14:19:44.040353857 +0000
--- src/help.c  2022-01-02 19:52:45.227201954 +0000
***************
*** 60,66 ****
  
        if (eap->forceit && *arg == NUL && !curbuf->b_help)
        {
!           emsg(_("E478: Don't panic!"));
            return;
        }
  
--- 60,66 ----
  
        if (eap->forceit && *arg == NUL && !curbuf->b_help)
        {
!           emsg(_(e_dont_panic));
            return;
        }
  
*** ../vim-8.2.3985/src/highlight.c     2022-01-02 19:25:22.846078499 +0000
--- src/highlight.c     2022-01-02 19:44:40.559790466 +0000
***************
*** 1053,1059 ****
                color = cterm_normal_ul_color - 1;
            else
            {
!               emsg(_("E453: UL color unknown"));
                return FALSE;
            }
        }
--- 1053,1059 ----
                color = cterm_normal_ul_color - 1;
            else
            {
!               emsg(_(e_ul_color_unknown));
                return FALSE;
            }
        }
*** ../vim-8.2.3985/src/if_cscope.c     2022-01-01 21:59:11.030521935 +0000
--- src/if_cscope.c     2022-01-02 19:49:01.723508131 +0000
***************
*** 1105,1111 ****
        // next symbol must be + or -
        if (strchr(CSQF_FLAGS, *qfpos) == NULL)
        {
!           (void)semsg(_("E469: invalid cscopequickfix flag %c for %c"), 
*qfpos, *(qfpos - 1));
            return FALSE;
        }
  
--- 1105,1112 ----
        // next symbol must be + or -
        if (strchr(CSQF_FLAGS, *qfpos) == NULL)
        {
!           (void)semsg(_(e_invalid_cscopequickfix_flag_chr_for_chr),
!                                                        *qfpos, *(qfpos - 1));
            return FALSE;
        }
  
*** ../vim-8.2.3985/src/json.c  2022-01-01 15:58:19.114486366 +0000
--- src/json.c  2022-01-02 20:02:30.374253037 +0000
***************
*** 20,27 ****
  
  static int json_encode_item(garray_T *gap, typval_T *val, int copyID, int 
options);
  
- static char e_json_error[] = N_("E491: json decode error at '%s'");
- 
  /*
   * Encode "val" into a JSON format string.
   * The result is added to "gap"
--- 20,25 ----
***************
*** 740,746 ****
                        retval = json_decode_string(reader, cur_item, *p);
                    else
                    {
!                       semsg(_(e_json_error), p);
                        retval = FAIL;
                    }
                    break;
--- 738,744 ----
                        retval = json_decode_string(reader, cur_item, *p);
                    else
                    {
!                       semsg(_(e_json_decode_error_at_str), p);
                        retval = FAIL;
                    }
                    break;
***************
*** 748,754 ****
                case ',': // comma: empty item
                    if ((options & JSON_JS) == 0)
                    {
!                       semsg(_(e_json_error), p);
                        retval = FAIL;
                        break;
                    }
--- 746,752 ----
                case ',': // comma: empty item
                    if ((options & JSON_JS) == 0)
                    {
!                       semsg(_(e_json_decode_error_at_str), p);
                        retval = FAIL;
                        break;
                    }
***************
*** 778,784 ****
                            }
                            if (!VIM_ISDIGIT(*sp))
                            {
!                               semsg(_(e_json_error), p);
                                retval = FAIL;
                                break;
                            }
--- 776,782 ----
                            }
                            if (!VIM_ISDIGIT(*sp))
                            {
!                               semsg(_(e_json_decode_error_at_str), p);
                                retval = FAIL;
                                break;
                            }
***************
*** 810,816 ****
                                    &nr, NULL, 0, TRUE);
                            if (len == 0)
                            {
!                               semsg(_(e_json_error), p);
                                retval = FAIL;
                                goto theend;
                            }
--- 808,814 ----
                                    &nr, NULL, 0, TRUE);
                            if (len == 0)
                            {
!                               semsg(_(e_json_decode_error_at_str), p);
                                retval = FAIL;
                                goto theend;
                            }
***************
*** 971,977 ****
                        retval = MAYBE;
                    else
                    {
!                       semsg(_(e_json_error), p);
                        retval = FAIL;
                    }
                    goto theend;
--- 969,975 ----
                        retval = MAYBE;
                    else
                    {
!                       semsg(_(e_json_decode_error_at_str), p);
                        retval = FAIL;
                    }
                    goto theend;
***************
*** 989,995 ****
                        retval = MAYBE;
                    else
                    {
!                       semsg(_(e_json_error), p);
                        retval = FAIL;
                    }
                    goto theend;
--- 987,993 ----
                        retval = MAYBE;
                    else
                    {
!                       semsg(_(e_json_decode_error_at_str), p);
                        retval = FAIL;
                    }
                    goto theend;
***************
*** 1044,1050 ****
                        retval = MAYBE;
                    else
                    {
!                       semsg(_(e_json_error), p);
                        retval = FAIL;
                    }
                    goto theend;
--- 1042,1048 ----
                        retval = MAYBE;
                    else
                    {
!                       semsg(_(e_json_decode_error_at_str), p);
                        retval = FAIL;
                    }
                    goto theend;
***************
*** 1063,1069 ****
        res->v_type = VAR_SPECIAL;
        res->vval.v_number = VVAL_NONE;
      }
!     semsg(_(e_json_error), p);
  
  theend:
      for (i = 0; i < stack.ga_len; i++)
--- 1061,1067 ----
        res->v_type = VAR_SPECIAL;
        res->vval.v_number = VVAL_NONE;
      }
!     semsg(_(e_json_decode_error_at_str), p);
  
  theend:
      for (i = 0; i < stack.ga_len; i++)
***************
*** 1090,1096 ****
      if (ret != OK)
      {
        if (ret == MAYBE)
!           semsg(_(e_json_error), reader->js_buf);
        return FAIL;
      }
      json_skip_white(reader);
--- 1088,1094 ----
      if (ret != OK)
      {
        if (ret == MAYBE)
!           semsg(_(e_json_decode_error_at_str), reader->js_buf);
        return FAIL;
      }
      json_skip_white(reader);
*** ../vim-8.2.3985/src/map.c   2022-01-02 19:25:22.846078499 +0000
--- src/map.c   2022-01-02 19:49:39.023460409 +0000
***************
*** 2374,2380 ****
      rhs = dict_get_string(d, (char_u *)"rhs", FALSE);
      if (lhs == NULL || lhsraw == NULL || rhs == NULL)
      {
!       emsg(_("E460: entries missing in mapset() dict argument"));
        return;
      }
      orig_rhs = rhs;
--- 2374,2380 ----
      rhs = dict_get_string(d, (char_u *)"rhs", FALSE);
      if (lhs == NULL || lhsraw == NULL || rhs == NULL)
      {
!       emsg(_(e_entries_missing_in_mapset_dict_argument));
        return;
      }
      orig_rhs = rhs;
*** ../vim-8.2.3985/src/netbeans.c      2021-11-29 20:39:06.678101624 +0000
--- src/netbeans.c      2022-01-02 20:09:42.117491597 +0000
***************
*** 2515,2521 ****
  
      if (NETBEANS_OPEN)
      {
!       emsg(_("E511: netbeans already connected"));
        return;
      }
  
--- 2515,2521 ----
  
      if (NETBEANS_OPEN)
      {
!       emsg(_(e_netbeans_already_connected));
        return;
      }
  
***************
*** 3481,3487 ****
        char msgbuf[IOSIZE];
  
        vim_snprintf(msgbuf, IOSIZE,
!                      _("E505: %s is read-only (add ! to override)"), IObuff);
        nbdebug(("    %s\n", msgbuf));
        emsg(msgbuf);
      }
--- 3481,3487 ----
        char msgbuf[IOSIZE];
  
        vim_snprintf(msgbuf, IOSIZE,
!                      _(e_is_read_only_add_bang_to_override), IObuff);
        nbdebug(("    %s\n", msgbuf));
        emsg(msgbuf);
      }
*** ../vim-8.2.3985/src/popupwin.c      2022-01-01 14:19:44.052353829 +0000
--- src/popupwin.c      2022-01-02 19:45:09.547764408 +0000
***************
*** 1893,1899 ****
                    && !(argvars[0].v_type == VAR_LIST
                        && argvars[0].vval.v_list != NULL))
        {
!           emsg(_("E450: buffer number, text or a list required"));
            return NULL;
        }
        if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
--- 1893,1899 ----
                    && !(argvars[0].v_type == VAR_LIST
                        && argvars[0].vval.v_list != NULL))
        {
!           emsg(_(e_buffer_number_text_or_list_required));
            return NULL;
        }
        if (argvars[1].v_type != VAR_DICT || argvars[1].vval.v_dict == NULL)
*** ../vim-8.2.3985/src/usercmd.c       2021-12-31 17:25:44.044304828 +0000
--- src/usercmd.c       2022-01-02 19:50:44.395373124 +0000
***************
*** 689,695 ****
      if (arg != NULL)
  # endif
      {
!       emsg(_("E468: Completion argument only allowed for custom completion"));
        return FAIL;
      }
  
--- 689,695 ----
      if (arg != NULL)
  # endif
      {
!       emsg(_(e_completion_argument_only_allowed_for_custom_completion));
        return FAIL;
      }
  
***************
*** 697,703 ****
      if ((*complp == EXPAND_USER_DEFINED || *complp == EXPAND_USER_LIST)
                                                               && arg == NULL)
      {
!       emsg(_("E467: Custom completion requires a function argument"));
        return FAIL;
      }
  
--- 697,703 ----
      if ((*complp == EXPAND_USER_DEFINED || *complp == EXPAND_USER_LIST)
                                                               && arg == NULL)
      {
!       emsg(_(e_custom_completion_requires_function_argument));
        return FAIL;
      }
  
*** ../vim-8.2.3985/src/userfunc.c      2022-01-01 21:59:11.038521915 +0000
--- src/userfunc.c      2022-01-02 19:46:36.063677910 +0000
***************
*** 1415,1421 ****
        *arg = skipwhite_and_linebreak(*arg, evalarg);
        if (**arg != '}')
        {
!           semsg(_("E451: Expected }: %s"), *arg);
            goto errret;
        }
        ++*arg;
--- 1415,1421 ----
        *arg = skipwhite_and_linebreak(*arg, evalarg);
        if (**arg != '}')
        {
!           semsg(_(e_expected_right_curly_str), *arg);
            goto errret;
        }
        ++*arg;
***************
*** 4001,4007 ****
                list_func_head(fp, FALSE);
                if (changed != func_hashtab.ht_changed)
                {
!                   emsg(_("E454: function list was modified"));
                    return;
                }
            }
--- 4001,4007 ----
                list_func_head(fp, FALSE);
                if (changed != func_hashtab.ht_changed)
                {
!                   emsg(_(e_function_list_was_modified));
                    return;
                }
            }
*** ../vim-8.2.3985/src/version.c       2022-01-02 19:25:22.854078479 +0000
--- src/version.c       2022-01-02 20:19:20.525013522 +0000
***************
*** 752,753 ****
--- 752,755 ----
  {   /* Add new patch number below this line */
+ /**/
+     3986,
  /**/

-- 
Some of the well known MS-Windows errors:
        ESLEEP          Operator fell asleep
        ENOERR          No error yet
        EDOLLAR         OS too expensive
        EWINDOWS        MS-Windows loaded, system in danger

 /// 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/20220102202158.7686A1C0A5B%40moolenaar.net.

Raspunde prin e-mail lui