[#36672] [Bug #616] instance_eval and Module#to_s — Shyouhei Urabe <redmine@...>

Bug #616: instance_eval and Module#to_s

12 messages 2008/10/06

[#36750] [Bug #650] Marshal.load raises RegexpError — Shyouhei Urabe <redmine@...>

Bug #650: Marshal.load raises RegexpError

30 messages 2008/10/15
[#36769] Re: [Bug #650] Marshal.load raises RegexpError — Yukihiro Matsumoto <matz@...> 2008/10/17

まつもと ゆきひろです

[#36771] Re: [Bug #650] Marshal.load raises RegexpError — Urabe Shyouhei <shyouhei@...> 2008/10/17

卜部です。

[#36772] Re: [Bug #650] Marshal.load raises RegexpError — Yukihiro Matsumoto <matz@...> 2008/10/17

まつもと ゆきひろです

[#36773] Re: [Bug #650] Marshal.load raises RegexpError — Urabe Shyouhei <shyouhei@...> 2008/10/17

卜部です。

[#36784] Re: [Bug #650] Marshal.load raises RegexpError — Yukihiro Matsumoto <matz@...> 2008/10/18

まつもと ゆきひろです

[#36785] Re: [Bug #650] Marshal.load raises RegexpError — Urabe Shyouhei <shyouhei@...> 2008/10/18

卜部です。

[#36793] Re: [Bug #650] Marshal.load raises RegexpError — Yukihiro Matsumoto <matz@...> 2008/10/19

まつもと ゆきひろです

[#36794] Re: [Bug #650] Marshal.load raises RegexpError — Urabe Shyouhei <shyouhei@...> 2008/10/19

Yukihiro Matsumoto さんは書きました:

[#36823] Re: [Bug #650] Marshal.load raises RegexpError — Yukihiro Matsumoto <matz@...> 2008/10/21

まつもと ゆきひろです

[#36830] Re: [Bug #650] Marshal.load raises RegexpError — Urabe Shyouhei <shyouhei@...> 2008/10/21

もとの正規表現にバグがあるのは認めますが、それに巻き込まれてでかいPStore

[#36833] Re: [Bug #650] Marshal.load raises RegexpError — Yukihiro Matsumoto <matz@...> 2008/10/21

まつもと ゆきひろです

[#36764] Re: [ruby-cvs:27036] Ruby:r19818 (trunk): * transcode.c (str_transcode0): String#encode without argument now — Martin Duerst <duerst@...>

まつもとさん、こんばんは。

11 messages 2008/10/17
[#36767] Re: [ruby-cvs:27036] Ruby:r19818 (trunk): * transcode.c (str_transcode0): String#encode without argument now — Yukihiro Matsumoto <matz@...> 2008/10/17

まつもと ゆきひろです

[#36799] Re: [ruby-cvs:27036] Ruby:r19818 (trunk): * transcode.c (str_transcode0): String#encode without argument now — Martin Duerst <duerst@...> 2008/10/20

まつもとさん、こんにちは。

[#36774] ConverterNotFoundError while making Ruby in Windows(trunk) — Masaki Suketa <masaki.suketa@...>

助田です。

13 messages 2008/10/17
[#36797] Re: ConverterNotFoundError while making Ruby in Windows(trunk) — "U.Nakamura" <usa@...> 2008/10/20

こんにちは、なかむら(う)です。

[#36800] Re: ConverterNotFoundError while making Ruby in Windows(trunk) — "U.Nakamura" <usa@...> 2008/10/20

こんにちは、なかむら(う)です。

[#36789] [Bug #660] 数字を3桁ずつコンマで区切るsprintf書式指定 — "rubikitch ." <redmine@...>

Bug #660: 数字を3桁ずつコンマで区切るsprintf書式指定

13 messages 2008/10/19

[#37007] [Bug:1.9] 1+1+1+...+1 dumps core — "Yusuke ENDOH" <mame@...>

遠藤です。

13 messages 2008/10/31

[ruby-dev:36823] Re: [Bug #650] Marshal.load raises RegexpError

From: Yukihiro Matsumoto <matz@...>
Date: 2008-10-21 01:39:56 UTC
List: ruby-dev #36823
まつもと ゆきひろです

In message "Re: [ruby-dev:36794] Re: [Bug #650] Marshal.load raises RegexpError"
    on Mon, 20 Oct 2008 01:50:06 +0900, Urabe Shyouhei <shyouhei@ruby-lang.org> writes:

|「1.8から来た正規表現に\uが含まれていたら1.9ではuのこととして扱う」でい
|いんじゃないですかね。
|1.8が1.9から来る正規表現を読めるようになることは期待してません。

|undocumentedなのが理由になれるのはちゃんとドキュメントがあるときだけでに
|しましょうね。
|たとえば/\n/や/\t/あたりもドキュメントされてませんけど、まさか今後の動作
|を保証しないとか言い出しますか?

あー、では「意味」と「意図」と言い換えましょう。\nや\tがどの
ような意味を持つかについて、ほとんどの人は一定の期待を持つで
しょうし、それに応えるつもりは十分にあります。しかし、一方、
\uはどうでしょう? これにたいしてほとんどの人が合意できる意味
は存在しないと思います。元の正規表現を書いた人がどのような期
待をしたのかはわかりませんが、すくなくとも卜部さんがあげてく
ださった例では、「期待してるであろう動作(バックスラッシュ+u)」
と「実際の動作(u)」は異なっていました。要するに元のプログラム
のバグです。

このような「間違った使い方しか存在しない表現」は積極的にサポー
トしない方がよいのではないかと思います。

|ところでなんでこんなにしつこく対応すべきと主張しているかというと、今後同
|様のことがまだ起こると思うからです。
|どうせ1.9は1.8と互換性がないわけで、Marshalで非互換が見つかったり、あら
|たに作られたりすることは今後も出てくることが強く予想されます。そのとき
|に、毎回同様の判断を求められるでしょう。それを毎回「気にしない」とかいう
|逃げかたをしていくと、どんどんMarshalでやりとりできる情報が少なくなって
|いって用をなさなくなります。しかもPStoreの場合だと中のオブジェクトが一個
|でも読めなくなると、DB全体を捨てないといけません。これはとても困ります。
|今後「気にしない」をどんどん続けていくと、最終的には読めないDBしか残らな
|くなるでしょう(さすがにそこまで到達する前になんか回避策は考えることにな
|ると思いますが)。
|
|せめて過去のバージョンで読めていたデータは取り出せるべきです。

無条件で? 今回の場合はバージョンが進んだおかげでバグが見つ
かったのだと私には見えますけど。

                                まつもと ゆきひろ /:|)

In This Thread