From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?=) Date: 2009-06-04T17:47:50+09:00 Subject: [ruby-dev:38566] Re: [Bug #1556] irb does not save history from 1.8.7-p83 and later けいじゅ@いしつかです. ruby-1.8.7 系のバグのような気がします. ファイナライザーが呼び出されな いような? 下記のプログラムで, --- obj = Object.new def fin proc{p 1} end ObjectSpace.define_finalizer(obj, fin) #obj = nil -- 1.8.7最新版のみファイナライザが実行されません. 他の, 1.8.8, 1.9系は呼 ばれます. ちなみに obj = nil を入れると呼び出されるので, その辺りの問 題では? In [ruby-dev:38563] the message: "[ruby-dev:38563] [Bug #1556] irb does not save history from 1.8.7-p83 and later", on Jun/02 21:47(JST) Nobuhiro IMAI writes: >Bug #1556: irb does not save history from 1.8.7-p83 and later >http://redmine.ruby-lang.org/issues/show/1556 > >起票者: Nobuhiro IMAI >ステータス: Open, 優先度: Normal >ruby -v: ruby 1.8.7 (2009-01-12 patchlevel 83) [i686-linux] > >1.8.7-p83 以降(p167 でも)、irb がヒストリを保存してくれないようです。 >ファイナライザが呼ばれる条件とタイミングが変わった影響でしょうか? >チケットを探しきれなかったのですが、既出だったらごめんなさい。 > >$ rm -f ~/.irb_history >$ irb -f >irb(main):001:0> require "irb/ext/save-history" >=> true >irb(main):002:0> context.save_history = 3 >=> 3 >irb(main):003:0> RUBY_DESCRIPTION >=> "ruby 1.8.7 (2009-01-12 patchlevel 83) [i686-linux]" >irb(main):004:0> p 83 >83 >=> nil >irb(main):005:0> exit >$ cat ~/.irb_history >cat: /home/nov/.irb_history: No such file or directory > >p82 だと保存されます。 > >$ rm -f ~/.irb_history >$ irb -f >irb(main):001:0> require "irb/ext/save-history" >=> true >irb(main):002:0> context.save_history = 3 >=> 3 >irb(main):003:0> RUBY_DESCRIPTION >=> "ruby 1.8.7 (2009-01-11 patchlevel 82) [i686-linux]" >irb(main):004:0> p 82 >82 >=> nil >irb(main):005:0> exit >$ cat ~/.irb_history >RUBY_DESCRIPTION >p 82 >exit > > >---------------------------------------- >http://redmine.ruby-lang.org > > __ ---------------------------------------------------->> 石塚 圭樹 <<--- ---------------------------------->> e-mail: keiju@ishitsuka.com <<---