[#43284] [Ruby 1.9 - Bug #4456] [Open] Time#strftime で %F 指定子に大きな幅を指定した際の不具合 — tadayoshi funaba <redmine@...>

14 messages 2011/03/02

[#43317] [Ruby 1.9 - Bug #4474][Open] 複数のスレッドからトランザクションに入ろうとした場合のPStoreの挙動 — Masaki Matsushita <redmine@...>

9 messages 2011/03/06

[#43327] [Ruby 1.9 - Feature #4483][Open] PStoreをデフォルトで複数のスレッドから扱えるようにしたい — Masaki Matsushita <redmine@...>

10 messages 2011/03/08

[#43365] [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い — Yukihiro Matsumoto <matz@...>

11 messages 2011/03/29

[ruby-dev:43370] Re: [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い

From: Yukihiro Matsumoto <matz@...>
Date: 2011-03-29 23:28:53 UTC
List: ruby-dev #43370
まつもと ゆきひろです

テストでエラーが増えないようならコミットしていただけませんか?

In message "Re: [ruby-dev:43367] Re: [Ruby 1.9 - Bug #4536][Open] 	定数参照について1.8と1.9の違い"
    on Tue, 29 Mar 2011 18:37:47 +0900, Shugo Maeda <shugo@ruby-lang.org> writes:
|
|前田です。
|
|2011年3月29日17:55 SASADA Koichi <ko1@atdot.net>:
|> module A; B = 42; end
|> A.class_eval{p B}
|> #=> `block in <main>': uninitialized constant Module::B (NameError)
|>
|> なので,それが動くのはまずいかもしれませんね.少し考えさせてください.
|
|以下のようにCOPY_CREFでフラグを伝搬させるとこの部分に関しては1.8と同じ動作になるようです。
|
|diff --git a/vm_insnhelper.h b/vm_insnhelper.h
|index 979c342..31ef216 100644
|--- a/vm_insnhelper.h
|+++ b/vm_insnhelper.h
|@@ -154,6 +154,9 @@ extern VALUE ruby_vm_const_missing_count;
|   (c1)->nd_clss = __tmp_c2->nd_clss; \
|   (c1)->nd_visi = __tmp_c2->nd_visi;\
|   (c1)->nd_next = __tmp_c2->nd_next; \
|+  if (__tmp_c2->flags & NODE_FL_CREF_PUSHED_BY_EVAL) { \
|+      (c1)->flags |= NODE_FL_CREF_PUSHED_BY_EVAL; \
|+  } \
| } while (0)
|
| #define CALL_METHOD(num, blockptr, flag, id, me, recv) do { \
|
|あんまりちゃんと考えてないので副作用があるかも。
|
|> # しかし,なんで Module::B なんだ.
|
|こっちはまだ見てませんが、何なんでしょうね…。
|
|-- 
|Shugo Maeda

In This Thread