[#47484] [ruby-trunk - Bug #8605][Assigned] TestSocket_TCPSocket#test_initialize_failure fails on Windows — "usa (Usaku NAKAMURA)" <usa@...>
4 messages
2013/07/05
[#47501] Ruby開発者会議のおしらせ — "NARUSE, Yui" <naruse@...>
そろそろ本格的に暑くなってきましたが、こんにちは。
4 messages
2013/07/12
[#47508] Re: [ruby-cvs:49177] glass:r42008 (trunk): * configure.in: check strcasecmp(). — Tanaka Akira <akr@...>
2013/7/16 <glass@ruby-lang.org>:
4 messages
2013/07/16
[#47510] Re: [ruby-cvs:49177] glass:r42008 (trunk): * configure.in: check strcasecmp().
— Masaki Matsushita <glass.saga@...>
2013/07/16
2013/7/16 Tanaka Akira <akr@fsij.org>
[#47534] [ruby-trunk - Bug #8674][Open] [patch] unused-parameter warning in ruby/ruby.h — "Linda_pp (R H)" <lin90162@...>
8 messages
2013/07/23
[#47548] [ruby-trunk - Feature #8696][Open] Process.setproctitle — "znz (Kazuhiro NISHIYAMA)" <redmine@...>
13 messages
2013/07/27
[#47559] [ruby-trunk - Bug #8711][Open] 最近NoMemoryErrorが多い — "naruse (Yui NARUSE)" <naruse@...>
13 messages
2013/07/31
[#47561] [ruby-trunk - Bug #8711] 最近NoMemoryErrorが多い
— "naruse (Yui NARUSE)" <naruse@...>
2013/08/01
[#47638] Re: [ruby-trunk - Bug #8711] 最近NoMemoryErrorが多い
— SASADA Koichi <ko1@...>
2013/08/19
(2013/08/01 20:18), naruse (Yui NARUSE) wrote:
[#47639] Re: [ruby-trunk - Bug #8711] 最近NoMemoryErrorが多い
— KOSAKI Motohiro <kosaki.motohiro@...>
2013/08/19
2013/8/19 SASADA Koichi <ko1@atdot.net>:
[#47640] Re: [ruby-trunk - Bug #8711] 最近NoMemoryErrorが多い
— SASADA Koichi <ko1@...>
2013/08/19
(2013/08/19 15:42), KOSAKI Motohiro wrote:
[ruby-dev:47549] [ruby-trunk - Bug #8698][Open] レシーバに不正なバイト列が含まれている場合にString#each_lineや#linesの挙動が引数の有無で変わってしまう
From:
"Glass_saga (Masaki Matsushita)" <glass.saga@...>
Date:
2013-07-28 08:14:56 UTC
List:
ruby-dev #47549
Issue #8698 has been reported by Glass_saga (Masaki Matsushita).
----------------------------------------
Bug #8698: レシーバに不正なバイト列が含まれている場合にString#each_lineや#linesの挙動が引数の有無で変わってしまう
https://bugs.ruby-lang.org/issues/8698
Author: Glass_saga (Masaki Matsushita)
Status: Open
Priority: Normal
Assignee:
Category: core
Target version: current: 2.1.0
ruby -v: ruby 2.1.0dev (2013-07-28 trunk 42211) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN
String#each_lineや#linesは、レシーバに不正なバイト列が含まれている場合に引数無しで呼ばれると例外を発生させませんが、
引数を与えると例外を発生させます。
invalid_str = "\x80" * 3
invalid_str.each_line {} # no error
invalid_str.each_line("foo") {} # invalid byte sequence in UTF-8 (ArgumentError)
invalid_str.lines # no error
invalid_str.lines("foo") # # invalid byte sequence in UTF-8 (ArgumentError)
レシーバに不正なバイト列が含まれている場合の挙動が引数の有無で変わってしまうというのは、仕様のバグではないでしょうか。
String#each_lineや#linesは引数を渡さずに使われる場合が多いと思うので、そちらの挙動に寄せて
「String#each_lineや#linesはレシーバに不正なバイト列が含まれていても例外を発生させない」という仕様に統一する事を提案します。
添付のpatchは引数の有無に関わらずrb_memsearch()を使って検索を行う事で上記の仕様に統一したもので、[Feature #7368]で提案している
patch3.diffに少し手を加えたものです。また、test/ruby/test_m17n_comb.rbに引数を与えて#each_lineを呼ぶと例外が発生する事を期待している
テストがあるので、その部分を削っています。
--
http://bugs.ruby-lang.org/