From: Minero Aoki Date: 1999-06-20T19:48:59+09:00 Subject: [ruby-dev:7142] [BUG] String#each with long target あおきです。 以下のスクリプトを実行すると出力が変です。 'a'.each( 'this is target!' ) do |line| puts line end 行がターゲットで終端していなかったときに文字列の長さを超えて 新しい文字列を生成しているのが原因でした。パッチつけます。 ------------------------------------------------------------------- あおきみねろう site: http://www1.u-netsurf.ne.jp/~brew/mine/jp/ --- org.string.c Sun Jun 20 19:49:25 1999 +++ string.c Sun Jun 20 19:50:38 1999 @@ -2180,6 +2180,7 @@ } if (s != pend) { + if (p > pend) p = pend ; line = rb_str_new(s, p - s); rb_yield(line); }