summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authortompng <tomoyapenguin@gmail.com>2024-09-28 13:15:29 +0900
committerNobuyoshi Nakada <nobu.nakada@gmail.com>2024-09-28 22:37:44 +0900
commitb9e225fcbfd045e65f1a95bcef16d97cbfb97287 (patch)
tree27bb6888e4ea433d50b80ec7740b90ad09e5cb83 /parse.y
parent8f678d69895d8b0562a52925a1840b698e021f56 (diff)
Allow dot3 in defs singleton
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11716
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y9
1 files changed, 7 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index a60ab68afe..16a687b594 100644
--- a/parse.y
+++ b/parse.y
@@ -3426,7 +3426,6 @@ defn_head : k_def def_name
defs_head : k_def singleton dot_or_colon
{
SET_LEX_STATE(EXPR_FNAME);
- p->ctxt.in_argdef = 1;
}
def_name
{
@@ -6746,8 +6745,14 @@ singleton : var_ref
value_expr($1);
$$ = $1;
}
- | '(' {SET_LEX_STATE(EXPR_BEG);} expr rparen
+ | '('
+ {
+ SET_LEX_STATE(EXPR_BEG);
+ p->ctxt.in_argdef = 0;
+ }
+ expr rparen
{
+ p->ctxt.in_argdef = 1;
NODE *expr = last_expr_node($3);
switch (nd_type(expr)) {
case NODE_STR: