[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37585] Re: [Bug:trunk] eval with binding

From: SASADA Koichi <ko1@...>
Date: 2008-12-24 15:20:48 UTC
List: ruby-dev #37585
 ささだです.

U.Nakamura wrote::
>> # その1
>> x = 0
>> eval("p x", TOPLEVEL_BINDING)
>> # 1.8   => 0
>> # trunk => NameError

Index: vm.c
===================================================================
--- vm.c	(リビジョン 20969)
+++ vm.c	(作業コピー)
@@ -1240,7 +1240,10 @@ rb_iseq_eval(VALUE iseqval)
     vm_set_top_stack(th, iseqval);

     if (!rb_const_defined(rb_cObject, rb_intern("TOPLEVEL_BINDING"))) {
-	rb_define_global_const("TOPLEVEL_BINDING", rb_binding_new());
+	VALUE bind;
+	rb_vm_set_finish_env(th); /* push dummy frame */
+	rb_define_global_const("TOPLEVEL_BINDING", bind);
+	vm_pop_frame(th); /* pop dummy frame */
     }
     val = vm_exec(th);
     tmp = iseqval; /* prohibit tail call optimization */


 これで直るのではないかと思います.ご確認いただけませんか.

>>
>> # その2
>> BEGIN{$b = binding}
>> x = 0
>> eval("p x", $b)
>> # 1.8   => NameError
>> # trunk => 0

 こちらは,前から書いていたとおり,仕様としていただけると.「こういう場
合に嫌だ」とか,そういう話ってありますかね.

-- 
// SASADA Koichi at atdot dot net

In This Thread