[Bug #21381] Refine error messages for it and numbered parameters

This commit is contained in:
Nobuyoshi Nakada 2025-06-05 19:05:29 +09:00
parent b9e3edb3e6
commit 0e0008da0f
No known key found for this signature in database
GPG Key ID: 3582D74E1FEE4465
Notes: git 2025-06-05 11:24:07 +00:00

16
parse.y
View File

@ -12860,10 +12860,10 @@ numparam_nested_p(struct parser_params *p)
NODE *inner = local->numparam.inner;
if (outer || inner) {
NODE *used = outer ? outer : inner;
compile_error(p, "numbered parameter is already used in\n"
"%s:%d: %s block here",
p->ruby_sourcefile, nd_line(used),
outer ? "outer" : "inner");
compile_error(p, "numbered parameter is already used in %s block\n"
"%s:%d: numbered parameter is already used here",
outer ? "outer" : "inner",
p->ruby_sourcefile, nd_line(used));
parser_show_error_line(p, &used->nd_loc);
return 1;
}
@ -12875,8 +12875,8 @@ numparam_used_p(struct parser_params *p)
{
NODE *numparam = p->lvtbl->numparam.current;
if (numparam) {
compile_error(p, "numbered parameter is already used in\n"
"%s:%d: current block here",
compile_error(p, "'it' is not allowed when a numbered parameter is already used\n"
"%s:%d: numbered parameter is already used here",
p->ruby_sourcefile, nd_line(numparam));
parser_show_error_line(p, &numparam->nd_loc);
return 1;
@ -12889,8 +12889,8 @@ it_used_p(struct parser_params *p)
{
NODE *it = p->lvtbl->it;
if (it) {
compile_error(p, "'it' is already used in\n"
"%s:%d: current block here",
compile_error(p, "numbered parameters are not allowed when 'it' is already used\n"
"%s:%d: 'it' is already used here",
p->ruby_sourcefile, nd_line(it));
parser_show_error_line(p, &it->nd_loc);
return 1;