Problem: Vim9: range with missing colon can be hard to spot.
Solution: Include the start of the range in the error. (closes #7543)
INIT(= N_("E1048: Item not found in script: %s"));
EXTERN char e_item_not_exported_in_script_str[]
INIT(= N_("E1049: Item not exported in script: %s"));
-EXTERN char e_colon_required_before_a_range[]
- INIT(= N_("E1050: Colon required before a range"));
+EXTERN char e_colon_required_before_range_str[]
+ INIT(= N_("E1050: Colon required before a range: %s"));
EXTERN char e_wrong_argument_type_for_plus[]
INIT(= N_("E1051: Wrong argument type for +"));
EXTERN char e_cannot_declare_an_option[]
// message.
if (ar > ea.cmd)
{
- emsg(_(e_colon_required_before_a_range));
+ semsg(_(e_colon_required_before_range_str), ea.cmd);
goto doend;
}
}
enddef
def Test_range_after_command_modifier()
- CheckScriptFailure(['vim9script', 'silent keepjump 1d _'], 'E1050:', 2)
+ CheckScriptFailure(['vim9script', 'silent keepjump 1d _'], 'E1050: Colon required before a range: 1d _', 2)
new
setline(1, 'xxx')
CheckScriptSuccess(['vim9script', 'silent keepjump :1d _'])
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 2216,
/**/
2215,
/**/
{
if (!starts_with_colon)
{
- emsg(_(e_colon_required_before_a_range));
+ semsg(_(e_colon_required_before_range_str), cmd);
goto erret;
}
if (ends_excmd2(line, ea.cmd))