[#39604] [Bug #2323] "Z".."Z".succが空 — Hiro Asari <redmine@...>
Bug #2323: "Z".."Z".succが空
[#39606] [Feature:trunk] Dir instance methods for relative path — Nobuyoshi Nakada <nobu@...>
なかだです。
まつもと ゆきひろです
kosakiです
なかだです。
> なかだです。
まつもと ゆきひろです
成瀬です。
[#39642] [Bug #2338] 大きなFixnumを値にもつHash#hashが呼び出しごとに変わる — Yuki Sonoda <redmine@...>
Bug #2338: 大きなFixnumを値にもつHash#hashが呼び出しごとに変わる
44Oi44Or44Go55Sz44GX44G+44GZ44CCCgrku6XkuIvjga7nkrDlooPjgaflho3nj77jgZfjgabj
[#39660] [Bug:trunk] Enumerator.new {|y| y << 1 << 2 << 3 } — Yusuke ENDOH <mame@...>
遠藤です。
In article <e0b1e5700911110537u2aacf835pc0aea13d89a92cef@mail.gmail.com>,
遠藤です。
At Wed, 11 Nov 2009 23:50:47 +0900,
遠藤です。
[#39669] メンテナ確認プロセス終了。メンテナ募集 — "Yugui (Yuki Sonoda)" <yugui@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#39685] [Feature #2366] private constant — Yusuke Endoh <redmine@...>
Feature #2366: private constant
まつもと ゆきひろです
チケット #2366 が更新されました。 (by Yusuke Endoh)
遠藤です。
=1B$B31$H$$$$$^$9!#=1B(B
遠藤です。
=1B$B31$H$$$$$^$9!#=1B(B
成瀬です。
=1B$B31$H$$$$$^$9!#=1B(B
遠藤です。
=1B$B31$H$$$$$^$9!#=1B(B
[#39696] [Feature #2372] read_all() with buffering — _ wanabe <redmine@...>
Feature #2372: read_all() with buffering
チケット #2372 が更新されました。 (by _ wanabe)
In article <4b0081d7e73af_8bc5c2a894735e@redmine.ruby-lang.org>,
[#39709] [Bug #2381] Math.gammaの挙動がx86_64とia64で異なる — Mitsuhiro TAKANO <redmine@...>
Bug #2381: Math.gammaの挙動がx86_64とia64で異なる
[#39714] Net::FTP で upload の resume ができない — Tomoyuki Chikanaga <chikanag@...>
近永と申します。
[#39720] hidden objectって? — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
以下のコミット以降、後述の現象が発生するそうです。
[#39743] String::gsubにおけるinvalid byte sequenceの検出について — TAKEGAWA Hiroshi <takegawa@...>
竹川と申します。
[#39755] RbConfig.rubybin — Tanaka Akira <akr@...>
ruby コマンドのパス名を返す RbConfig.rubybin というメソッド
須藤です。
In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,
> In article <20091123.123808.1122146273169400964.kou@cozmixng.org>,
須藤です。
At Mon, 30 Nov 2009 19:28:39 +0900,
[#39760] [Bug #2395] 可視性の変更による alias されたメソッドの無効化 — _ wanabe <redmine@...>
Bug #2395: 可視性の変更による alias されたメソッドの無効化
[#39796] バグ? ブロック引数で to_ary が呼ばれる必要のない場面で呼ばれる — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
まつもと ゆきひろです
[ruby-dev:39761] Re: [Bug #2395] 可視性の変更による alias されたメソッドの無効化
遠藤です。
2009年11月24日11:29 _ wanabe <redmine@ruby-lang.org>:
> alias された元のメソッドを undef するとき、alias の前に可視性を変更する処理があると
> また元に戻しても alias 先のメソッドが呼べなくなります。
> rb_export_method() 中の rb_add_method() による現象のようです。
奇遇なことに、同じタイミングでほぼ同じ問題に悩んでいました。
$ ruby19 -e 'public :eval; alias foo eval; foo "p 1"'
-e:1:in `<main>': undefined method `foo' for main:Object (NoMethodError)
wanabe さんの提起している問題は 2 つに分けられると思います。
1) bar が foo の alias で、foo が ZSUPER だった際、foo ではなく bar を
探してしまう (1.9 だけ、私が悩んでいたのはこっち)
class C
private
def foo; "FOO"; end
def bar; "BAR"; end
end
class D < C
public :foo
alias bar foo
end
p D.new.public_send(:bar) #=> "BAR"
# send だと最適化で正しく動いてしまう、public_send だと発症する
2) 同じクラスで alias を作ったらメソッド実体の実体がコピーされるのに
継承先で alias を作ったら実体はコピーされない (1.8 も 1.9 も)
class C
private
def foo; "foo"; end
alias bar foo
public :bar
end
class D < C
public :foo
alias baz foo
end
class C
undef foo
end
p D.new.bar #=> "foo"
p D.new.baz #=> NoMethodError
1) は 1.9 のバグだと思います。パッチをつけます (ただしまだテスト
してません) 。2) は仕様かどうか聞かないとわかりません。
Index: vm_eval.c
===================================================================
--- vm_eval.c (revision 25898)
+++ vm_eval.c (working copy)
@@ -105,6 +105,7 @@
}
case VM_METHOD_TYPE_ZSUPER: {
klass = RCLASS_SUPER(klass);
+ id = me->def->original_id;
if (!klass || !(me = rb_method_entry(klass, id))) {
return method_missing(recv, id, argc, argv, NOEX_SUPER);
}
Index: vm_insnhelper.c
===================================================================
--- vm_insnhelper.c (revision 25898)
+++ vm_insnhelper.c (working copy)
@@ -548,6 +548,7 @@
}
case VM_METHOD_TYPE_ZSUPER:{
VALUE klass = RCLASS_SUPER(me->klass);
+ id = me->def->original_id;
me = rb_method_entry(klass, id);
if (me != 0) {
--
Yusuke ENDOH <mame@tsg.ne.jp>