[#36647] test/pathname/test_pathname.rb — TAKANO Mitsuhiro <takano32@...>
高野です。
[#36649] Embedding struct RArray — "Yugui (Yuki Sonoda)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#36672] [Bug #616] instance_eval and Module#to_s — Shyouhei Urabe <redmine@...>
Bug #616: instance_eval and Module#to_s
[#36678] test_process.rb — TAKANO Mitsuhiro <takano32@...>
高野です。
まつもと ゆきひろです
高野です。
[#36685] [Bug #621] When to call Class#inherited — Shyouhei Urabe <redmine@...>
Bug #621: When to call Class#inherited
[#36691] [Bug:1.9] ArgumentError on "%c" % 0x80 — Tanaka Akira <akr@...>
"%c" % 0x80 が例外になります。
[#36697] [Bug:1.9] rb_io_fread does not work — "Yusuke ENDOH" <mame@...>
遠藤です。
[#36704] Assertion failed in array.c on mswin32 Ruby (trunk) — Masaki Suketa <masaki.suketa@...>
助田です。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
[#36705] ruby1.9 on hppa build problem — Hideki Yamane <henrich@...>
こんにちは、
[#36706] Ruby on Vista — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#36716] [Bug #644] compile error on win32ole with VC++6 — Usaku NAKAMURA <redmine@...>
Bug #644: compile error on win32ole with VC++6
[#36739] r19786 (trunk): * lib/delegate.rb (Delegator): simplified and restored 1.8 — Fujioka <fuj@...>
藤岡です。
[#36750] [Bug #650] Marshal.load raises RegexpError — Shyouhei Urabe <redmine@...>
Bug #650: Marshal.load raises RegexpError
まつもと ゆきひろです
卜部です。
まつもと ゆきひろです
卜部です。
まつもと ゆきひろです
卜部です。
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
もとの正規表現にバグがあるのは認めますが、それに巻き込まれてでかいPStore
まつもと ゆきひろです
卜部です。
まつもと ゆきひろです
けいじゅ@いしつかです.
卜部です。
けいじゅ@いしつかです.
卜部です。
[#36753] [Bug #651] Regexp.new returns strange regexp object — Shyouhei Urabe <redmine@...>
Bug #651: Regexp.new returns strange regexp object
まつもと ゆきひろです
[#36764] Re: [ruby-cvs:27036] Ruby:r19818 (trunk): * transcode.c (str_transcode0): String#encode without argument now — Martin Duerst <duerst@...>
まつもとさん、こんばんは。
まつもと ゆきひろです
まつもとさん、こんにちは。
In article <6.0.0.20.2.20081019182600.08d852a8@localhost>,
ファイル名は以前の議論の結果「変換可能でしたら変換、そうでなかったら
In article <6.0.0.20.2.20081021093404.0ada7bf8@localhost>,
At 10:47 08/10/21, Tanaka Akira wrote:
[#36768] Re: [ruby-cvs:27042] Ruby:r19824 (trunk): * array.c: recycle shared-array when it isn't referenced. — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
ワナベです。
[#36774] ConverterNotFoundError while making Ruby in Windows(trunk) — Masaki Suketa <masaki.suketa@...>
助田です。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
In article <20081020173718.7FAD.C613B076@garbagecollect.jp>,
[#36789] [Bug #660] 数字を3桁ずつコンマで区切るsprintf書式指定 — "rubikitch ." <redmine@...>
Bug #660: 数字を3桁ずつコンマで区切るsprintf書式指定
[#36801] Marshal.load can't take GZipReader — arton <artonx@...>
artonです。
まつもと ゆきひろです
[#36813] Re: Ruby:r19863 (trunk): * regparse.c (parse_char_class): CCV_SB is only for single — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
[#36866] [Bug #676] 引数の有無によるIO#readの挙動の違い — _ wanabe <redmine@...>
Bug #676: 引数の有無によるIO#readの挙動の違い
[#36877] [Feature #679] Integer#to_s(:step=>3, :sep=>",") が欲しい — Martin Dürst <redmine@...>
チケット #679 が更新されました。 (by Martin Dürst)
[#36909] trunk SEGV nkf? — "WATANABE Tetsuya" <tetsuya.watanabe@...>
渡辺哲也です。
[#36914] prefix math_* funcs — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
> complex.cで使うために、いくつか数学関数からstaticがとれたようですが、
[#36915] prefix signal_buff — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
[#36917] VMまわりのシンボルにも「rb_」を付けてほしい — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。連投ですみません。
[#36932] [Bug #6] sprintf() of %f on Windows(MSVCRT) — _ wanabe <redmine@...>
チケット #6 が更新されました。 (by _ wanabe)
[#36937] initial value of $. — "Yugui (Yuki Sonoda)" <yugui@...>
Yuguiです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#36993] [Bug:1.9] removing Exception#initialize dumps core — "Yusuke ENDOH" <mame@...>
遠藤です。
[#37007] [Bug:1.9] 1+1+1+...+1 dumps core — "Yusuke ENDOH" <mame@...>
遠藤です。
はじめまして、よしおかと申します。
遠藤です。
こんにちは、なかむら(う)です。
[ruby-dev:36884] Re: [Bug #650] Marshal.load raises RegexpError
けいじゅ@いしつかです.
In [ruby-dev :36882 ] the message: "[ruby-dev:36882] Re: [Bug #650]
Marshal.load raises RegexpError ", on Oct/23 17:39(JST) Yukihiro
Matsumoto writes:
>まつもと ゆきひろです
>
>例外は実行を中断しちゃうんで、「とりあえずの変換結果」ではか
>なり情報が失われるような気がします。
えー.
>| [1, 2, 3, <再生不能オブジェクト>, 5]
>| [1, 2, 4, <markerオブジェクト>, 5]
>
>この例だと「5の再生に届かない」って感じでしょうか。
>5を復元するためには例外が発生した情報だけはとっておいてとり
>あえず最後まで復元して、改めて例外を発生し直すとかいうことに
>なりそうですが、複数の例外が発生したらどうするかとか悩ましい
>限りです。
後者のイメージでした. 確に複数の例外の問題はありますね. <marker>に情報
を埋め込めばどうにかなるとは思いますが.
とはいえ, こちらの案はもう良いです.
>| obj = Marshal.load(src, invalid: proc{|invalid_info| ...})
>
>こちらならcallbackとして呼ばれますから、複数の例外などの問題
>はありませんね。
そうでもなくて, 1オブジェクトで2種類の例外はなくはないんですよね. 今回
の問題はRegexpの問題でしたが, また, 同じクラスで別の問題が発生する可能
性がなくもないです.
>例外が良いかもしれないことを頭から否定するわけではありません
>が、たとえばmarshal_loadメソッドから発生した例外とかは事前に
>予測困難ですから、統一的な対応はなかなか難しいかもしれません。
converterを作るって話であれば, 統一的な対応でなくても良い気がします.
というか, 将来どういう非互換が発生するかは読めないですからね.
>まあ、そうなんですが、今さらメジャーバージョンが変わることは
>ないと思います。とりあえず不足はないと思うし。
変えたくないって話なんですよね? でも, storeしたものが(何も対処しないで)
load出来ないってことは, 事実上メジャーバージョンが変わっていると思いま
すが?
> * ユーザ定義の_load,_dump,marshal_dump,marshal_loadが変化
> したらどうするのか
いろいろな変更があると思いますが, ユーザ定義でも互換性を維持して行うの
が当然ですので, 互換性を維持できない場合ですよね.
marshal_load で invalidが指定されているときは, marshal_loadもinvalidを
指定して呼び出し, コールバックするなりmakerを生成するなりすれば良いの
では?
> * markerとなるオブジェクトはどんなオブジェクトでどんな属性
> を持つのか
これが問題ですよねぇ. 最低でもダンプしたイメージは欲しいと思いますが,
あとは, 推選の変換オブジェクトがあればそういうのもあると良い気がします.
marshal_load(obj)の場合は, objを渡すと良いですね. 一般的にもこういうの
があるといいんですが, あ, 問題が発生したときに考えれば良いのかな? 今回
はRegexp なので, Regexp.new(string, option, code)のstring, option,
codeを渡せばほとんど再生できます.
あとは, 何の非互換性かを識別するIDなり例外クラスが欲しいですよね.
今回の例をコールバックの例で考えると
proc do |exp|
case exp
when MarshalInvalid_Regex_backslash_u
newstr = exp.string.gsub("\\u", "u")
Regex.new(newstr, exp.option, exp.code)
:
みたいなかんじでしょうか.
> * callbackにするのか、markerを埋め込んだオブジェクトを返す
> のか
これは, 後者の方が良いと思いますねぇ. maker埋め込みはあとで, スキャン
するのがたいへんそうです. 無限ループしたりね...
__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka.com <<---