[#46868] Fwd: [ruby-list:49131] [ANN] Ruby生誕20周年記念パーティのお知らせ — Kakutani Shintaro <shintaro@...>
一般社団法人日本Rubyの会のかくたにです。
8 messages
2013/01/15
[#46876] Re: Fwd: [ruby-list:49131] [ANN] Ruby生誕20周年記念パーティのお知らせ
— SASADA Koichi <ko1@...>
2013/01/18
ささだです.
[#46899] Re: Fwd: [ruby-list:49131] [ANN] Ruby生誕20周年記念パーティのお知らせ
— SASADA Koichi <ko1@...>
2013/01/29
ささだです.
[#46870] Re: [ruby-changes:26796] nobu:r38848 (trunk): win32ole.rb: use TracePoint — SASADA Koichi <ko1@...>
中田さん:
9 messages
2013/01/16
[#46872] Re: [ruby-changes:26796] nobu:r38848 (trunk): win32ole.rb: use TracePoint
— "U.Nakamura" <usa@...>
2013/01/17
こんにちは、なかむら(う)です。
[#46873] Re: [ruby-changes:26796] nobu:r38848 (trunk): win32ole.rb: use TracePoint
— SASADA Koichi <ko1@...>
2013/01/17
(2013/01/17 14:18), U.Nakamura wrote:
[ruby-dev:46827] [ruby-trunk - Bug #7646][Open] String#each_lineでinvalid byte sequence
From:
"yoshidam (Yoshida Masato)" <yoshidam@...>
Date:
2013-01-02 16:42:13 UTC
List:
ruby-dev #46827
Issue #7646 has been reported by yoshidam (Yoshida Masato).
----------------------------------------
Bug #7646: String#each_lineでinvalid byte sequence
https://bugs.ruby-lang.org/issues/7646
Author: yoshidam (Yoshida Masato)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 2.0.0dev (2013-01-02 trunk 38676) [i686-linux]
=begin
String#each_lineでセパレータを指定したときにASCII以外の文字でinvalid byte sequenceが発生します。
$ ruby -ve '"\n\u0100".each_line("\n") {|l| p l }'
ruby 2.0.0dev (2013-01-02 trunk 38676) [i686-linux]
"\n"
-e:1:in `each_line': invalid byte sequence in UTF-8 (ArgumentError)
from -e:1:in `<main>'
r38616あたりの変更で入ったバグのようです。
--- string.c.org 2012-12-27 21:57:07.000000000 +0900
+++ string.c 2013-01-02 23:36:47.000000000 +0900
@@ -6199,14 +6199,14 @@
if (c == newline &&
(rslen <= 1 ||
(pend - p >= rslen && memcmp(RSTRING_PTR(rs), p, rslen) == 0))) {
- p += (rslen ? rslen : n);
- line = rb_str_subseq(str, s - ptr, p - s);
+ const char *pp = p + (rslen ? rslen : n);
+ line = rb_str_subseq(str, s - ptr, pp - s);
if (wantarray)
rb_ary_push(ary, line);
else
rb_yield(line);
str_mod_check(str, ptr, len);
- s = p;
+ s = pp;
}
p += n;
}
=end
--
http://bugs.ruby-lang.org/