patch 8.2.2486: Vim9: some errors for white space do not show context
Problem: Vim9: some errors for white space do not show context.
Solution: Include the text at the error.
diff --git a/src/dict.c b/src/dict.c
index b40aaef..b36b2bf 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -945,7 +945,7 @@
if (**arg != ':')
{
if (*skipwhite(*arg) == ':')
- semsg(_(e_no_white_space_allowed_before_str), ":");
+ semsg(_(e_no_white_space_allowed_before_str_str), ":", *arg);
else
semsg(_(e_missing_dict_colon), *arg);
clear_tv(&tvkey);
@@ -1025,7 +1025,7 @@
if (!had_comma)
{
if (**arg == ',')
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str), ",", *arg);
else
semsg(_(e_missing_dict_comma), *arg);
goto failret;
diff --git a/src/errors.h b/src/errors.h
index 921b9df..9b9a782 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -173,8 +173,8 @@
INIT(= N_("E1066: Cannot declare a register: %s"));
EXTERN char e_separator_mismatch_str[]
INIT(= N_("E1067: Separator mismatch: %s"));
-EXTERN char e_no_white_space_allowed_before_str[]
- INIT(= N_("E1068: No white space allowed before '%s'"));
+EXTERN char e_no_white_space_allowed_before_str_str[]
+ INIT(= N_("E1068: No white space allowed before '%s': %s"));
EXTERN char e_white_space_required_after_str_str[]
INIT(= N_("E1069: White space required after '%s': %s"));
EXTERN char e_missing_from[]
diff --git a/src/list.c b/src/list.c
index c93a66d..4d33aa6 100644
--- a/src/list.c
+++ b/src/list.c
@@ -1328,7 +1328,8 @@
if (do_error)
{
if (**arg == ',')
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str),
+ ",", *arg);
else
semsg(_("E696: Missing comma in List: %s"), *arg);
}
diff --git a/src/userfunc.c b/src/userfunc.c
index 82df0bb..c9b15fd 100644
--- a/src/userfunc.c
+++ b/src/userfunc.c
@@ -878,7 +878,7 @@
{
if (*argp != ',' && *skipwhite(argp) == ',')
{
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str), ",", argp);
ret = FAIL;
break;
}
@@ -3214,7 +3214,7 @@
if ((vim9script || eap->cmdidx == CMD_def) && VIM_ISWHITE(p[-1]))
{
- semsg(_(e_no_white_space_allowed_before_str), "(");
+ semsg(_(e_no_white_space_allowed_before_str_str), "(", p - 1);
goto ret_free;
}
diff --git a/src/version.c b/src/version.c
index ca79c64..e203038 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2486,
+/**/
2485,
/**/
2484,
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 7a220a8..512f724 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2800,7 +2800,7 @@
if (*p != ',' && *skipwhite(p) == ',')
{
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str), ",", p);
p = skipwhite(p);
}
if (*p == ',')
@@ -3055,7 +3055,7 @@
}
if (*p == ',')
{
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str), ",", p);
return FAIL;
}
if (*p == ']')
@@ -3234,7 +3234,7 @@
if (**arg != ':')
{
if (*skipwhite(*arg) == ':')
- semsg(_(e_no_white_space_allowed_before_str), ":");
+ semsg(_(e_no_white_space_allowed_before_str_str), ":", *arg);
else
semsg(_(e_missing_dict_colon), *arg);
return FAIL;
@@ -3273,7 +3273,7 @@
}
if (IS_WHITE_OR_NUL(*whitep))
{
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str), ",", whitep);
return FAIL;
}
whitep = *arg + 1;
@@ -4270,7 +4270,7 @@
if (**arg != '>')
{
if (*skipwhite(*arg) == '>')
- semsg(_(e_no_white_space_allowed_before_str), ">");
+ semsg(_(e_no_white_space_allowed_before_str_str), ">", *arg);
else
emsg(_(e_missing_gt));
return FAIL;
diff --git a/src/vim9type.c b/src/vim9type.c
index dbe7db9..1a20ef5 100644
--- a/src/vim9type.c
+++ b/src/vim9type.c
@@ -638,7 +638,7 @@
if (give_error)
{
if (*skipwhite(*arg) == '<')
- semsg(_(e_no_white_space_allowed_before_str), "<");
+ semsg(_(e_no_white_space_allowed_before_str_str), "<", *arg);
else
emsg(_(e_missing_type));
}
@@ -779,7 +779,8 @@
if (*p != ',' && *skipwhite(p) == ',')
{
if (give_error)
- semsg(_(e_no_white_space_allowed_before_str), ",");
+ semsg(_(e_no_white_space_allowed_before_str_str),
+ ",", p);
return NULL;
}
if (*p == ',')