From: "mame (Yusuke Endoh)" Date: 2012-05-21T19:24:18+09:00 Subject: [ruby-dev:45662] [ruby-trunk - Bug #6455][Assigned] IRB.conf[:RC_NAME_GENERATOR] と IRB.conf[:SAVE_HISTORY] を同時に設定すると irb が起動できないのを修正する Issue #6455 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned ---------------------------------------- Bug #6455: IRB.conf[:RC_NAME_GENERATOR] と IRB.conf[:SAVE_HISTORY] を同時に設定すると irb が起動できないのを修正する https://bugs.ruby-lang.org/issues/6455#change-26737 Author: sho-h (Sho Hashimoto) Status: Assigned Priority: Normal Assignee: keiju (Keiju Ishitsuka) Category: lib Target version: 2.0.0 ruby -v: ruby 1.8.7 (2010-08-16 patchlevel 302) [i486-linux] るりまを書いている最中に気づいたのですが、IRB.conf[:RC_NAME_GENERATOR] と IRB.conf[:SAVE_HISTORY] を同時に設定すると irb の起動時にヒストリファイルの読み込みで例外が発生して irb が起動できません。 $ irb /usr/lib/ruby/1.8/irb/ext/save-history.rb:77:in `exist?': can't convert nil into String (TypeError) from /usr/lib/ruby/1.8/irb/ext/save-history.rb:77:in `load_history' ... $ IRB.rc_file("_history") が nil を返すようになるためではないかと思います。 $ irb -f irb(main):001:0> IRB.conf[:RC_NAME_GENERATOR] = Proc.new { |rc| irb(main):002:1* ["/tmp/myirb.#{rc}"].detect { |path| File.exists?(path) } irb(main):003:1> } irb(main):004:0> IRB.rc_file("_history") => nil 1.8.7 で試しましたが、trunk でも同様ではないかと思います。 lib/irb/ext/save-history.rb で IRB.rc_file("_history") が nil であればデフォルト値を使うなどされた方がいいかもしれません。 -- http://bugs.ruby-lang.org/