From 83b987054a801405673266ba47c6f38e33efee0e Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Thu, 6 Jan 2022 23:08:56 +0900 Subject: Explicitly pass $/ when loop mode Get rid of depending on using $/ internally in ARGF.gets. --- parse.y | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 794c818e34..0c30111f9e 100644 --- a/parse.y +++ b/parse.y @@ -13114,6 +13114,8 @@ parser_append_options(struct parser_params *p, NODE *node) } if (p->do_loop) { + NODE *irs = NEW_LIST(NEW_GVAR(rb_intern("$/"), LOC), LOC); + if (p->do_split) { ID ifs = rb_intern("$;"); ID fields = rb_intern("$F"); @@ -13130,7 +13132,7 @@ parser_append_options(struct parser_params *p, NODE *node) node = block_append(p, chomp, node); } - node = NEW_WHILE(NEW_VCALL(idGets, LOC), node, 1, LOC); + node = NEW_WHILE(NEW_FCALL(idGets, irs, LOC), node, 1, LOC); } return node; -- cgit v1.2.3