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