[ruby-list:38338] Re: bug? ($. in Ruby 1.8.0)

From: matz@... (Yukihiro Matsumoto)
Date: 2003-09-02 16:43:34 UTC
List: ruby-list #38338
まつもと ゆきひろです

In message "[ruby-list:38337] Re: bug? ($. in Ruby 1.8.0)"
    on 03/09/02, nobu.nakada@nifty.ne.jp <nobu.nakada@nifty.ne.jp> writes:

|> 変だなと思うのは、行番号が 1,1,2,3,.. となり、1 が繰り返されてい
|> ることです。これを Ruby 1.6.8 で実行すると、私の期待通り
|> 1,2,3,... となります。
|
|バグでしょう。

確かに。

|ARGFがEOFになったら、再度初期化されるまでgets_linenoは決してア
|クセスされない…かな。

こういうのがいいんじゃないかと。

--- io.c	19 Aug 2003 02:21:04 -0000	1.230
+++ io.c	2 Sep 2003 16:42:35 -0000
@@ -3117,4 +3117,4 @@ rb_f_gets(argc, argv)
 
+    if (!next_argv()) return Qnil;
     if (TYPE(current_file) != T_FILE) {
-	if (!next_argv()) return Qnil;
 	line = rb_funcall3(current_file, rb_intern("gets"), argc, argv);

In This Thread