Index: /trunk/FACT++/src/Readline.cc
===================================================================
--- /trunk/FACT++/src/Readline.cc	(revision 15456)
+++ /trunk/FACT++/src/Readline.cc	(revision 15457)
@@ -67,4 +67,6 @@
 #include "tools.h"
 #include "Time.h"
+
+namespace fs = boost::filesystem;
 
 using namespace std;
@@ -1270,8 +1272,15 @@
 void Readline::StaticPushHistory(const string &fname="")
 {
+    fs::path his = fs::path(This->fName).parent_path();
+    his /= fname;
+
     write_history(This->fName.c_str());
     stifle_history(0);
     unstifle_history();
-    read_history(fname.c_str());
+#if BOOST_VERSION < 104600
+    read_history(his.c_str());
+#else
+    read_history(his.string().c_str());
+#endif
 }
 
@@ -1286,6 +1295,15 @@
 void Readline::StaticPopHistory(const string &fname="")
 {
-    write_history(fname.c_str());
-    history_truncate_file(fname.c_str(), 1000);
+    fs::path his = fs::path(This->fName).parent_path();
+    his /= fname;
+
+#if BOOST_VERSION < 104600
+    write_history(his.c_str());
+    history_truncate_file(his.c_str(), 1000);
+#else
+    write_history(his.string().c_str());
+    history_truncate_file(his.string().c_str(), 1000);
+#endif
+
     stifle_history(0);
     unstifle_history();
