summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNARUSE, Yui <nurse@users.noreply.github.com>2024-03-14 18:55:52 +0900
committerGitHub <noreply@github.com>2024-03-14 09:55:52 +0000
commit2a84aaf4a8c8d6d6bbb09416711922532b0033fe (patch)
tree65c9cdcaaa405d0921ce62ca7a6f378b9199c2fd /parse.y
parenta889304fed63c3206f27d614ab75219271fb4ca9 (diff)
Fix test session reuse but expire (#9824) (#10250)
merge revision(s) 596db9c1f486d6609a4e97d82c8c71b54609fb6f: [Backport #20090] [Feature #19370] Blocks without anonymous parameters should not affect --- parse.y | 4 ++-- test/ruby/test_syntax.rb | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-)
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 2 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index 55a304bd2d..0bb9709097 100644
--- a/parse.y
+++ b/parse.y
@@ -15017,13 +15017,13 @@ forwarding_arg_check(struct parser_params *p, ID arg, ID all, const char *var)
args = p->lvtbl->args;
while (vars && !DVARS_TERMINAL_P(vars->prev)) {
+ conflict |= (vtable_included(args, arg) && !(all && vtable_included(args, all)));
vars = vars->prev;
args = args->prev;
- conflict |= (vtable_included(args, arg) && !(all && vtable_included(args, all)));
}
bool found = false;
- if (vars && vars->prev == DVARS_INHERIT) {
+ if (vars && vars->prev == DVARS_INHERIT && !found) {
found = (rb_local_defined(arg, p->parent_iseq) &&
!(all && rb_local_defined(all, p->parent_iseq)));
}