Patch 8.2.3957
Problem: Error messages are spread out.
Solution: Move more errors to errors.h.
Files: src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c,
src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c src/ex_eval.c,
src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c,
src/vim9cmds.c, src/vim9compile.c
*** ../vim-8.2.3956/src/errors.h 2021-12-31 15:09:23.334140877 +0000
--- src/errors.h 2021-12-31 17:22:05.248678533 +0000
***************
*** 266,272 ****
INIT(= N_("E121: Undefined variable: %s"));
EXTERN char e_undefined_variable_char_str[]
INIT(= N_("E121: Undefined variable: %c:%s"));
! EXTERN char e_function_str_already_exists_add_excl_to_replace[]
INIT(= N_("E122: Function %s already exists, add ! to replace it"));
EXTERN char e_undefined_function_str[]
INIT(= N_("E123: Undefined function: %s"));
--- 266,272 ----
INIT(= N_("E121: Undefined variable: %s"));
EXTERN char e_undefined_variable_char_str[]
INIT(= N_("E121: Undefined variable: %c:%s"));
! EXTERN char e_function_str_already_exists_add_bang_to_replace[]
INIT(= N_("E122: Function %s already exists, add ! to replace it"));
EXTERN char e_undefined_function_str[]
INIT(= N_("E123: Undefined function: %s"));
***************
*** 328,334 ****
INIT(= N_("E150: Not a directory: %s"));
EXTERN char e_no_match_str[]
INIT(= N_("E151: No match: %s"));
! EXTERN char e_cannot_open_str_for_writing[]
INIT(= N_("E152: Cannot open %s for writing"));
EXTERN char e_unable_to_open_str_for_reading[]
INIT(= N_("E153: Unable to open %s for reading"));
--- 328,334 ----
INIT(= N_("E150: Not a directory: %s"));
EXTERN char e_no_match_str[]
INIT(= N_("E151: No match: %s"));
! EXTERN char e_cannot_open_str_for_writing_1[]
INIT(= N_("E152: Cannot open %s for writing"));
EXTERN char e_unable_to_open_str_for_reading[]
INIT(= N_("E153: Unable to open %s for reading"));
***************
*** 350,358 ****
EXTERN char e_breakpoint_not_found_str[]
INIT(= N_("E161: Breakpoint not found: %s"));
#endif
!
EXTERN char e_no_such_user_defined_command_str[]
INIT(= N_("E184: No such user-defined command: %s"));
#ifndef FEAT_DIGRAPHS
EXTERN char e_no_digraphs_version[]
INIT(= N_("E196: No digraphs in this version"));
--- 350,419 ----
EXTERN char e_breakpoint_not_found_str[]
INIT(= N_("E161: Breakpoint not found: %s"));
#endif
! EXTERN char e_no_write_since_last_change_for_buffer_str[]
! INIT(= N_("E162: No write since last change for buffer \"%s\""));
! EXTERN char e_there_is_only_one_file_to_edit[]
! INIT(= N_("E163: There is only one file to edit"));
! EXTERN char e_cannot_go_before_first_file[]
! INIT(= N_("E164: Cannot go before first file"));
! EXTERN char e_cannot_go_beyond_last_file[]
! INIT(= N_("E165: Cannot go beyond last file"));
! EXTERN char e_cant_open_linked_file_for_writing[]
! INIT(= N_("E166: Can't open linked file for writing"));
! EXTERN char e_scriptencoding_used_outside_of_sourced_file[]
! INIT(= N_("E167: :scriptencoding used outside of a sourced file"));
! EXTERN char e_finish_used_outside_of_sourced_file[]
! INIT(= N_("E168: :finish used outside of a sourced file"));
! EXTERN char e_command_too_recursive[]
! INIT(= N_("E169: Command too recursive"));
! EXTERN char e_missing_endwhile[]
! INIT(= N_("E170: Missing :endwhile"));
! EXTERN char e_missing_endfor[]
! INIT(= N_("E170: Missing :endfor"));
! EXTERN char e_missing_endif[]
! INIT(= N_("E171: Missing :endif"));
! EXTERN char e_missing_marker[]
! INIT(= N_("E172: Missing marker"));
! EXTERN char e_nr_more_file_to_edit[]
! INIT(= N_("E173: %d more file to edit"));
! EXTERN char e_nr_more_files_to_edit[]
! INIT(= N_("E173: %d more files to edit"));
! EXTERN char e_command_already_exists_add_bang_to_replace_it_str[]
! INIT(= N_("E174: Command already exists: add ! to replace it: %s"));
! EXTERN char e_no_attribute_specified[]
! INIT(= N_("E175: No attribute specified"));
! EXTERN char e_invalid_number_of_arguments[]
! INIT(= N_("E176: Invalid number of arguments"));
! EXTERN char e_count_cannot_be_specified_twice[]
! INIT(= N_("E177: Count cannot be specified twice"));
! EXTERN char e_invalid_default_value_for_count[]
! INIT(= N_("E178: Invalid default value for count"));
! EXTERN char e_argument_required_for_str[]
! INIT(= N_("E179: argument required for %s"));
! EXTERN char e_invalid_complete_value_str[]
! INIT(= N_("E180: Invalid complete value: %s"));
! EXTERN char e_invalid_attribute_str[]
! INIT(= N_("E181: Invalid attribute: %s"));
! EXTERN char e_invalid_command_name[]
! INIT(= N_("E182: Invalid command name"));
! EXTERN char e_user_defined_commands_must_start_with_an_uppercase_letter[]
! INIT(= N_("E183: User defined commands must start with an uppercase letter"));
EXTERN char e_no_such_user_defined_command_str[]
INIT(= N_("E184: No such user-defined command: %s"));
+ EXTERN char e_cannot_find_color_scheme_str[]
+ INIT(= N_("E185: Cannot find color scheme '%s'"));
+ EXTERN char e_no_previous_directory[]
+ INIT(= N_("E186: No previous directory"));
+ EXTERN char e_directory_unknown[]
+ INIT(= N_("E187: Directory unknown"));
+ EXTERN char e_obtaining_window_position_not_implemented_for_this_platform[]
+ INIT(= N_("E188: Obtaining window position not implemented for this platform"));
+ EXTERN char e_str_exists_add_bang_to_override[]
+ INIT(= N_("E189: \"%s\" exists (add ! to override)"));
+ EXTERN char e_cannot_open_str_for_writing_2[]
+ INIT(= N_("E190: Cannot open \"%s\" for writing"));
+
+
#ifndef FEAT_DIGRAPHS
EXTERN char e_no_digraphs_version[]
INIT(= N_("E196: No digraphs in this version"));
*** ../vim-8.2.3956/src/globals.h 2021-12-31 15:09:23.334140877 +0000
--- src/globals.h 2021-12-31 16:59:16.482821086 +0000
***************
*** 1606,1619 ****
EXTERN char e_abort[] INIT(= N_("E470: Command aborted"));
EXTERN char e_argreq[] INIT(= N_("E471: Argument required"));
#ifdef FEAT_EVAL
- EXTERN char e_endif[] INIT(= N_("E171: Missing :endif"));
EXTERN char e_catch[] INIT(= N_("E603: :catch without :try"));
EXTERN char e_finally[] INIT(= N_("E606: :finally without :try"));
EXTERN char e_finally_dup[] INIT(= N_("E607: multiple :finally"));
EXTERN char e_endtry[] INIT(= N_("E600: Missing :endtry"));
EXTERN char e_no_endtry[] INIT(= N_("E602: :endtry without :try"));
- EXTERN char e_endwhile[] INIT(= N_("E170: Missing :endwhile"));
- EXTERN char e_endfor[] INIT(= N_("E170: Missing :endfor"));
EXTERN char e_while[] INIT(= N_("E588: :endwhile without :while"));
EXTERN char e_for[] INIT(= N_("E588: :endfor without :for"));
#endif
--- 1606,1616 ----
*** ../vim-8.2.3956/src/arglist.c 2021-12-24 20:27:58.029861532 +0000
--- src/arglist.c 2021-12-31 16:48:24.652130572 +0000
***************
*** 673,683 ****
if (argn < 0 || argn >= ARGCOUNT)
{
if (ARGCOUNT <= 1)
! emsg(_("E163: There is only one file to edit"));
else if (argn < 0)
! emsg(_("E164: Cannot go before first file"));
else
! emsg(_("E165: Cannot go beyond last file"));
}
else
{
--- 673,683 ----
if (argn < 0 || argn >= ARGCOUNT)
{
if (ARGCOUNT <= 1)
! emsg(_(e_there_is_only_one_file_to_edit));
else if (argn < 0)
! emsg(_(e_cannot_go_before_first_file));
else
! emsg(_(e_cannot_go_beyond_last_file));
}
else
{
*** ../vim-8.2.3956/src/bufwrite.c 2021-12-05 21:46:31.172891155 +0000
--- src/bufwrite.c 2021-12-31 16:49:30.263991776 +0000
***************
*** 1821,1827 ****
|| (mch_lstat((char *)fname, &st) == 0
&& (st.st_dev != st_old.st_dev
|| st.st_ino != st_old.st_ino)))
! errmsg = (char_u *)_("E166: Can't open linked file for writing");
else
#endif
{
--- 1821,1828 ----
|| (mch_lstat((char *)fname, &st) == 0
&& (st.st_dev != st_old.st_dev
|| st.st_ino != st_old.st_ino)))
! errmsg =
! (char_u *)_(e_cant_open_linked_file_for_writing);
else
#endif
{
*** ../vim-8.2.3956/src/evalvars.c 2021-12-24 21:36:08.428028943 +0000
--- src/evalvars.c 2021-12-31 17:01:19.126585813 +0000
***************
*** 638,644 ****
marker = dot;
else
{
! emsg(_("E172: Missing marker"));
return NULL;
}
}
--- 638,644 ----
marker = dot;
else
{
! emsg(_(e_missing_marker));
return NULL;
}
}
*** ../vim-8.2.3956/src/ex_cmds2.c 2021-11-12 11:25:06.291264320 +0000
--- src/ex_cmds2.c 2021-12-31 16:45:12.648552025 +0000
***************
*** 367,373 ****
buf->b_fname)
:
#endif
! semsg(_("E162: No write since last change for buffer \"%s\""),
buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname))
{
save = no_wait_return;
--- 367,373 ----
buf->b_fname)
:
#endif
! semsg(_(e_no_write_since_last_change_for_buffer_str),
buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname))
{
save = no_wait_return;
*** ../vim-8.2.3956/src/ex_docmd.c 2021-12-30 13:45:53.678853155 +0000
--- src/ex_docmd.c 2021-12-31 17:20:57.640792804 +0000
***************
*** 677,683 ****
#endif
)
{
! emsg(_("E169: Command too recursive"));
#ifdef FEAT_EVAL
// When converting to an exception, we do not include the command name
// since this is not an error of the specific command.
--- 677,683 ----
#endif
)
{
! emsg(_(e_command_too_recursive));
#ifdef FEAT_EVAL
// When converting to an exception, we do not include the command name
// since this is not an error of the specific command.
***************
*** 1214,1224 ****
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
emsg(_(e_endtry));
else if (cstack.cs_flags[cstack.cs_idx] & CSF_WHILE)
! emsg(_(e_endwhile));
else if (cstack.cs_flags[cstack.cs_idx] & CSF_FOR)
! emsg(_(e_endfor));
else
! emsg(_(e_endif));
}
/*
--- 1214,1224 ----
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
emsg(_(e_endtry));
else if (cstack.cs_flags[cstack.cs_idx] & CSF_WHILE)
! emsg(_(e_missing_endwhile));
else if (cstack.cs_flags[cstack.cs_idx] & CSF_FOR)
! emsg(_(e_missing_endfor));
else
! emsg(_(e_missing_endif));
}
/*
***************
*** 5561,5568 ****
return FAIL;
}
#endif
! semsg(NGETTEXT("E173: %d more file to edit",
! "E173: %d more files to edit", n), n);
quitmore = 2; // next try to quit is allowed
}
return FAIL;
--- 5561,5568 ----
return FAIL;
}
#endif
! semsg(NGETTEXT(e_nr_more_file_to_edit,
! e_nr_more_files_to_edit , n), n);
quitmore = 2; // next try to quit is allowed
}
return FAIL;
***************
*** 5609,5615 ****
#endif
}
else if (load_colors(eap->arg) == FAIL)
! semsg(_("E185: Cannot find color scheme '%s'"), eap->arg);
#ifdef FEAT_VTP
else if (has_vtp_working())
--- 5609,5615 ----
#endif
}
else if (load_colors(eap->arg) == FAIL)
! semsg(_(e_cannot_find_color_scheme_str), eap->arg);
#ifdef FEAT_VTP
else if (has_vtp_working())
***************
*** 7377,7383 ****
pdir = get_prevdir(scope);
if (pdir == NULL)
{
! emsg(_("E186: No previous directory"));
return FALSE;
}
new_dir = pdir;
--- 7377,7383 ----
pdir = get_prevdir(scope);
if (pdir == NULL)
{
! emsg(_(e_no_previous_directory));
return FALSE;
}
new_dir = pdir;
***************
*** 7510,7516 ****
msg((char *)NameBuff);
}
else
! emsg(_("E187: Unknown"));
}
/*
--- 7510,7516 ----
msg((char *)NameBuff);
}
else
! emsg(_(e_directory_unknown));
}
/*
***************
*** 7716,7722 ****
}
else
# endif
! emsg(_("E188: Obtaining window position not implemented for this platform"));
}
else
{
--- 7716,7722 ----
}
else
# endif
! emsg(_(e_obtaining_window_position_not_implemented_for_this_platform));
}
else
{
***************
*** 8303,8314 ****
#endif
if (!forceit && *mode != 'a' && vim_fexists(fname))
{
! semsg(_("E189: \"%s\" exists (add ! to override)"), fname);
return NULL;
}
if ((fd = mch_fopen((char *)fname, mode)) == NULL)
! semsg(_("E190: Cannot open \"%s\" for writing"), fname);
return fd;
}
--- 8303,8314 ----
#endif
if (!forceit && *mode != 'a' && vim_fexists(fname))
{
! semsg(_(e_str_exists_add_bang_to_override), fname);
return NULL;
}
if ((fd = mch_fopen((char *)fname, mode)) == NULL)
! semsg(_(e_cannot_open_str_for_writing_2), fname);
return fd;
}
*** ../vim-8.2.3956/src/ex_eval.c 2021-11-23 14:52:03.029446451 +0000
--- src/ex_eval.c 2021-12-31 16:59:50.446755715 +0000
***************
*** 1413,1419 ****
if (!(fl & (CSF_WHILE | CSF_FOR)))
{
if (!(fl & CSF_TRY))
! eap->errmsg = _(e_endif);
else if (fl & CSF_FINALLY)
eap->errmsg = _(e_endtry);
// Try to find the matching ":while" and report what's missing.
--- 1413,1419 ----
if (!(fl & (CSF_WHILE | CSF_FOR)))
{
if (!(fl & CSF_TRY))
! eap->errmsg = _(e_missing_endif);
else if (fl & CSF_FINALLY)
eap->errmsg = _(e_endtry);
// Try to find the matching ":while" and report what's missing.
***************
*** 2484,2493 ****
get_end_emsg(cstack_T *cstack)
{
if (cstack->cs_flags[cstack->cs_idx] & CSF_WHILE)
! return _(e_endwhile);
if (cstack->cs_flags[cstack->cs_idx] & CSF_FOR)
! return _(e_endfor);
! return _(e_endif);
}
--- 2484,2493 ----
get_end_emsg(cstack_T *cstack)
{
if (cstack->cs_flags[cstack->cs_idx] & CSF_WHILE)
! return _(e_missing_endwhile);
if (cstack->cs_flags[cstack->cs_idx] & CSF_FOR)
! return _(e_missing_endfor);
! return _(e_missing_endif);
}
*** ../vim-8.2.3956/src/help.c 2021-12-31 15:09:23.334140877 +0000
--- src/help.c 2021-12-31 17:21:50.476703540 +0000
***************
*** 995,1001 ****
if (fd_tags == NULL)
{
if (!ignore_writeerr)
! semsg(_(e_cannot_open_str_for_writing), NameBuff);
FreeWild(filecount, files);
return;
}
--- 995,1001 ----
if (fd_tags == NULL)
{
if (!ignore_writeerr)
! semsg(_(e_cannot_open_str_for_writing_1), NameBuff);
FreeWild(filecount, files);
return;
}
*** ../vim-8.2.3956/src/scriptfile.c 2021-12-27 17:21:38.020449109 +0000
--- src/scriptfile.c 2021-12-31 16:50:48.091829878 +0000
***************
*** 1919,1925 ****
if (!getline_equal(eap->getline, eap->cookie, getsourceline))
{
! emsg(_("E167: :scriptencoding used outside of a sourced file"));
return;
}
--- 1919,1925 ----
if (!getline_equal(eap->getline, eap->cookie, getsourceline))
{
! emsg(_(e_scriptencoding_used_outside_of_sourced_file));
return;
}
***************
*** 1983,1989 ****
if (getline_equal(eap->getline, eap->cookie, getsourceline))
do_finish(eap, FALSE);
else
! emsg(_("E168: :finish used outside of a sourced file"));
}
/*
--- 1983,1989 ----
if (getline_equal(eap->getline, eap->cookie, getsourceline))
do_finish(eap, FALSE);
else
! emsg(_(e_finish_used_outside_of_sourced_file));
}
/*
*** ../vim-8.2.3956/src/usercmd.c 2021-12-10 21:46:05.035979827 +0000
--- src/usercmd.c 2021-12-31 17:11:27.405716339 +0000
***************
*** 678,684 ****
if (command_complete[i].expand == 0)
{
! semsg(_("E180: Invalid complete value: %s"), value);
return FAIL;
}
--- 678,684 ----
if (command_complete[i].expand == 0)
{
! semsg(_(e_invalid_complete_value_str), value);
return FAIL;
}
***************
*** 726,732 ****
if (len == 0)
{
! emsg(_("E175: No attribute specified"));
return FAIL;
}
--- 726,732 ----
if (len == 0)
{
! emsg(_(e_no_attribute_specified));
return FAIL;
}
***************
*** 781,787 ****
else
{
wrong_nargs:
! emsg(_("E176: Invalid number of arguments"));
return FAIL;
}
}
--- 781,787 ----
else
{
wrong_nargs:
! emsg(_(e_invalid_number_of_arguments));
return FAIL;
}
}
***************
*** 796,802 ****
if (*def >= 0)
{
two_count:
! emsg(_("E177: Count cannot be specified twice"));
return FAIL;
}
--- 796,802 ----
if (*def >= 0)
{
two_count:
! emsg(_(e_count_cannot_be_specified_twice));
return FAIL;
}
***************
*** 806,812 ****
if (p != val + vallen || vallen == 0)
{
invalid_count:
! emsg(_("E178: Invalid default value for count"));
return FAIL;
}
}
--- 806,812 ----
if (p != val + vallen || vallen == 0)
{
invalid_count:
! emsg(_(e_invalid_default_value_for_count));
return FAIL;
}
}
***************
*** 840,846 ****
{
if (val == NULL)
{
! emsg(_("E179: argument required for -complete"));
return FAIL;
}
--- 840,846 ----
{
if (val == NULL)
{
! semsg(_(e_argument_required_for_str), "-complete");
return FAIL;
}
***************
*** 853,859 ****
*argt |= EX_RANGE;
if (val == NULL)
{
! emsg(_("E179: argument required for -addr"));
return FAIL;
}
if (parse_addr_type_arg(val, (int)vallen, addr_type_arg) == FAIL)
--- 853,859 ----
*argt |= EX_RANGE;
if (val == NULL)
{
! semsg(_(e_argument_required_for_str), "-addr");
return FAIL;
}
if (parse_addr_type_arg(val, (int)vallen, addr_type_arg) == FAIL)
***************
*** 865,871 ****
{
char_u ch = attr[len];
attr[len] = '\0';
! semsg(_("E181: Invalid attribute: %s"), attr);
attr[len] = ch;
return FAIL;
}
--- 865,871 ----
{
char_u ch = attr[len];
attr[len] = '\0';
! semsg(_(e_invalid_attribute_str), attr);
attr[len] = ch;
return FAIL;
}
***************
*** 945,951 ****
#endif
)
{
! semsg(_("E174: Command already exists: add ! to replace it: %s"),
name);
goto fail;
}
--- 945,951 ----
#endif
)
{
! semsg(_(e_command_already_exists_add_bang_to_replace_it_str),
name);
goto fail;
}
***************
*** 1085,1091 ****
++p;
if (!ends_excmd2(eap->arg, p) && !VIM_ISWHITE(*p))
{
! emsg(_("E182: Invalid command name"));
return;
}
end = p;
--- 1085,1091 ----
++p;
if (!ends_excmd2(eap->arg, p) && !VIM_ISWHITE(*p))
{
! emsg(_(e_invalid_command_name));
return;
}
end = p;
***************
*** 1097,1103 ****
if (!has_attr && ends_excmd2(eap->arg, p))
uc_list(name, end - name);
else if (!ASCII_ISUPPER(*name))
! emsg(_("E183: User defined commands must start with an uppercase letter"));
else if ((name_len == 1 && *name == 'X')
|| (name_len <= 4
&& STRNCMP(name, "Next", name_len > 4 ? 4 : name_len) == 0))
--- 1097,1103 ----
if (!has_attr && ends_excmd2(eap->arg, p))
uc_list(name, end - name);
else if (!ASCII_ISUPPER(*name))
! emsg(_(e_user_defined_commands_must_start_with_an_uppercase_letter));
else if ((name_len == 1 && *name == 'X')
|| (name_len <= 4
&& STRNCMP(name, "Next", name_len > 4 ? 4 : name_len) == 0))
*** ../vim-8.2.3956/src/userfunc.c 2021-12-30 13:28:56.812073798 +0000
--- src/userfunc.c 2021-12-31 17:05:47.366200353 +0000
***************
*** 2360,2366 ****
if (fp != NULL)
{
// TODO: handle ! to overwrite
! semsg(_(e_function_str_already_exists_add_excl_to_replace), global);
return FAIL;
}
--- 2360,2366 ----
if (fp != NULL)
{
// TODO: handle ! to overwrite
! semsg(_(e_function_str_already_exists_add_bang_to_replace), global);
return FAIL;
}
***************
*** 4380,4386 ****
if (fudi.fd_dict != NULL && fudi.fd_newkey == NULL)
emsg(_(e_funcdict));
else if (name != NULL && find_func(name, is_global, NULL) != NULL)
! emsg_funcname(e_function_str_already_exists_add_excl_to_replace, name);
}
if (!eap->skip && did_emsg)
--- 4380,4386 ----
if (fudi.fd_dict != NULL && fudi.fd_newkey == NULL)
emsg(_(e_funcdict));
else if (name != NULL && find_func(name, is_global, NULL) != NULL)
! emsg_funcname(e_function_str_already_exists_add_bang_to_replace, name);
}
if (!eap->skip && did_emsg)
***************
*** 4438,4444 ****
if (vim9script)
emsg_funcname(e_name_already_defined_str, name);
else
! emsg_funcname(e_function_str_already_exists_add_excl_to_replace, name);
goto erret;
}
if (fp->uf_calls > 0)
--- 4438,4444 ----
if (vim9script)
emsg_funcname(e_name_already_defined_str, name);
else
! emsg_funcname(e_function_str_already_exists_add_bang_to_replace, name);
goto erret;
}
if (fp->uf_calls > 0)
*** ../vim-8.2.3956/src/vim9cmds.c 2021-12-27 17:21:38.024449102 +0000
--- src/vim9cmds.c 2021-12-31 16:59:53.674749498 +0000
***************
*** 1520,1530 ****
if (scope == NULL)
emsg(_(e_no_endtry));
else if (scope->se_type == WHILE_SCOPE)
! emsg(_(e_endwhile));
else if (scope->se_type == FOR_SCOPE)
! emsg(_(e_endfor));
else
! emsg(_(e_endif));
return NULL;
}
--- 1520,1530 ----
if (scope == NULL)
emsg(_(e_no_endtry));
else if (scope->se_type == WHILE_SCOPE)
! emsg(_(e_missing_endwhile));
else if (scope->se_type == FOR_SCOPE)
! emsg(_(e_missing_endfor));
else
! emsg(_(e_missing_endif));
return NULL;
}
*** ../vim-8.2.3956/src/vim9compile.c 2021-12-31 14:06:41.409853997 +0000
--- src/vim9compile.c 2021-12-31 16:59:57.054743021 +0000
***************
*** 3109,3119 ****
if (cctx.ctx_scope != NULL)
{
if (cctx.ctx_scope->se_type == IF_SCOPE)
! emsg(_(e_endif));
else if (cctx.ctx_scope->se_type == WHILE_SCOPE)
! emsg(_(e_endwhile));
else if (cctx.ctx_scope->se_type == FOR_SCOPE)
! emsg(_(e_endfor));
else
emsg(_(e_missing_rcurly));
goto erret;
--- 3109,3119 ----
if (cctx.ctx_scope != NULL)
{
if (cctx.ctx_scope->se_type == IF_SCOPE)
! emsg(_(e_missing_endif));
else if (cctx.ctx_scope->se_type == WHILE_SCOPE)
! emsg(_(e_missing_endwhile));
else if (cctx.ctx_scope->se_type == FOR_SCOPE)
! emsg(_(e_missing_endfor));
else
emsg(_(e_missing_rcurly));
goto erret;
*** ../vim-8.2.3956/src/version.c 2021-12-31 15:21:49.661260891 +0000
--- src/version.c 2021-12-31 17:24:50.848396127 +0000
***************
*** 751,752 ****
--- 751,754 ----
{ /* Add new patch number below this line */
+ /**/
+ 3957,
/**/
--
Apathy Error: Don't bother striking any key.
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// \\\
\\\ sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///