[前][次][番号順一覧][スレッド一覧]

ruby-changes:70774

From: Nobuyoshi <ko1@a...>
Date: Fri, 7 Jan 2022 09:24:05 +0900 (JST)
Subject: [ruby-changes:70774] 83b987054a (master): Explicitly pass $/ when loop mode

https://git.ruby-lang.org/ruby.git/commit/?id=83b987054a

From 83b987054a801405673266ba47c6f38e33efee0e Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
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(-)

diff --git a/parse.y b/parse.y
index 794c818e349..0c30111f9e3 100644
--- a/parse.y
+++ b/parse.y
@@ -13114,6 +13114,8 @@ parser_append_options(struct parser_params *p, NODE *node) https://github.com/ruby/ruby/blob/trunk/parse.y#L13114
     }
 
     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) https://github.com/ruby/ruby/blob/trunk/parse.y#L13132
 	    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.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]