aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y10
1 files changed, 6 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index c753dec91f..1631bdecc2 100644
--- a/parse.y
+++ b/parse.y
@@ -13017,10 +13017,12 @@ match_op(struct parser_params *p, NODE *node1, NODE *node2, const YYLTYPE *op_lo
case NODE_REGX:
{
const VALUE lit = rb_node_regx_string_val(n);
- NODE *match = NEW_MATCH2(node1, node2, loc);
- RNODE_MATCH2(match)->nd_args = reg_named_capture_assign(p, lit, loc);
- nd_set_line(match, line);
- return match;
+ if (!NIL_P(lit)) {
+ NODE *match = NEW_MATCH2(node1, node2, loc);
+ RNODE_MATCH2(match)->nd_args = reg_named_capture_assign(p, lit, loc);
+ nd_set_line(match, line);
+ return match;
+ }
}
}
}