[#46329] [ruby-trunk - Feature #7252][Assigned] version number of 2.0 release — "usa (Usaku NAKAMURA)" <usa@...>

26 messages 2012/11/01

[#46350] RubySpecメンテナ — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

15 messages 2012/11/02
[#46352] Re: RubySpecメンテナ — Urabe Shyouhei <shyouhei@...> 2012/11/02

On 11/01/2012 07:43 PM, Yukihiro Matsumoto wrote:

[#46414] [ruby-trunk - Bug #7287][Open] please rename atomic.h which conflicts with /usr/include/atomic.h in Solaris10 — "ngoto (Naohisa Goto)" <ngotogenome@...>

10 messages 2012/11/06

[#46434] トラップハンドラで許されない操作はなにか — KOSAKI Motohiro <kosaki.motohiro@...>

GyRCPi46aiRHJDkbKEIKCltCdWcgIzcxMzRdIBskQiRyRDQkWSRGJCQkRj88SiUkSjtFTU1MZEJq

9 messages 2012/11/06

[#46440] [ruby-trunk - Bug #7300][Open] Hash#[] の挙動が 1.9.3 と異なっている — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>

12 messages 2012/11/07

[#46477] Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...>

refinement を導入するときの性能に対する excuse が「method cache に殆どあ

20 messages 2012/11/11
[#46480] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/11

前田です。

[#46488] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...> 2012/11/12

 ささだです.

[#46491] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/12

前田です。

[#46493] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...> 2012/11/12

 ささだです.

[#46495] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/12

前田です。

[#46497] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — SASADA Koichi <ko1@...> 2012/11/12

(2012/11/12 18:20), Shugo Maeda wrote:

[#46501] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Shugo Maeda <shugo@...> 2012/11/12

前田です。

[#46513] Re: Fwd: [ruby-changes:25559] shugo:r37616 (trunk): * vm_core.h (rb_call_info_t::refinements), compile.c (new_callinfo): — Nobuyoshi Nakada <nobu@...> 2012/11/14

なかだです。

[#46509] [ruby-trunk - Bug #7344][Open] gem pristine bigdecimal が失敗してしまう — "hsbt (Hiroshi SHIBATA)" <shibata.hiroshi@...>

31 messages 2012/11/13

[#46520] [ruby-trunk - Bug #7356][Open] ruby-2.0.0-preview1 で adlint-2.6.10 が性能劣化 — "yanoh (Yutaka Yanoh)" <yutaka@...>

11 messages 2012/11/15

[#46647] [ruby-trunk - Bug #7452][Assigned] Main thread is stopped after running finalizers if the main thread has a finalizer — "mrkn (Kenta Murata)" <muraken@...>

8 messages 2012/11/28

[ruby-dev:46640] [ruby-trunk - Bug #2402] super in instance_eval

From: "shugo (Shugo Maeda)" <redmine@...>
Date: 2012-11-27 03:11:15 UTC
List: ruby-dev #46640
Issue #2402 has been updated by shugo (Shugo Maeda).


shugo (Shugo Maeda) wrote:
> instance_evalの中でsuperを呼んだ時に正しいレシーバを見つけるために r36640 で外側のフレームを辿る
> ようにしたのですが、  Bug #6907 の問題があったので r36795 でrevertしました。
> 
> 現状はNotImplementedErrorがraiseされますが、こういうケースでsuperが呼べないのを仕様ということに
> するなら(selfのtypeがおかしいという意味で)TypeErrorが妥当ですかねえ。

一点補足すると、1.8ではinstance_evalではフレームのselfは変えずにrb_evalの引数だけ変えているみたいなので
instance_evalの中でsuperした時もちゃんと元のselfが使われるようですが、このためだけにselfを二重に持つのは
何だかなあという気がしています。
でもorphanなProcからsuperを呼んだ時とかを考えると他の方法を思い付きません。

----------------------------------------
Bug #2402: super in instance_eval
https://bugs.ruby-lang.org/issues/2402#change-34001

Author: shugo (Shugo Maeda)
Status: Open
Priority: High
Assignee: ko1 (Koichi Sasada)
Category: 
Target version: 2.0.0
ruby -v: ruby 1.9.2dev (2009-11-24 trunk 25909) [i686-linux]


=begin
 instance_evalのブロック内でsuperを呼ぶと、instance_evalで変更された
 selfに対してsuperの呼び出しを行ってしまうようです。
 
 defiant:build$ cat t.rb
 class Foo
   def foo
     p self
   end
 end
 
 class Bar < Foo
   def foo
     x = Object.new
     x.instance_eval do
       super
     end
   end
 end
 
 Bar.new.foo
 defiant:build$ ./ruby-trunk.1124 -v t.rb
 ruby 1.9.2dev (2009-11-24 trunk 25909) [i686-linux]
 #<Object:0x8590f6c>
 
 Foo#fooが呼ばれるのにselfがObjectという、ちょっとおかしなことになっています。
 ちょっと自信がありませんが、一応パッチを添付します。
=end



-- 
http://bugs.ruby-lang.org/

In This Thread

Prev Next