須藤です。

IRB.conf[:HISTORY_FILE]に「~」を使う(例えば
「~/.irb-history」)と、ヒストリファイルへの書き込みはされる
のですが、読み込みに失敗します。

lib/irb/save-history.rbのヒストリファイルに書き込み処理では、
IRB.conf[:HISTORY_FILE]をFile.expand_pathしているのでヒストリ
ファイル名に「~」を使ってもそれっぽく処理してくれるのですが、
読み込む処理の部分ではFile.expand_pathしていないので、ヒスト
リファイルがないと判断されて読み込まれません。

書き込み側ではexpand_pathしているので読み込み側もそうした方
がよいのではないかと思います。

Index: lib/irb/ext/save-history.rb
===================================================================
--- lib/irb/ext/save-history.rb	(revision 18690)
+++ lib/irb/ext/save-history.rb	(working copy)
@@ -72,6 +72,7 @@
 
     def load_history
       hist = IRB.conf[:HISTORY_FILE]
+      hist = File.expand_path(hist) if hist
       hist = IRB.rc_file("_history") unless hist
       if File.exist?(hist)
 	open(hist) do |f|


ついでなので、typoを直すパッチです。

Index: lib/irb/ext/save-history.rb
===================================================================
--- lib/irb/ext/save-history.rb	(revision 18690)
+++ lib/irb/ext/save-history.rb	(working copy)
@@ -3,7 +3,7 @@
 #   save-history.rb - 
 #   	$Release Version: 0.9.5$
 #   	$Revision$
-#   	by Keiju ISHITSUKAkeiju / ruby-lang.org)
+#   	by Keiju ISHITSUKA(keiju / ruby-lang.org)
 #
 # --
 #