Index: /trunk/FACT++/src/Console.cc
===================================================================
--- /trunk/FACT++/src/Console.cc	(revision 16868)
+++ /trunk/FACT++/src/Console.cc	(revision 16869)
@@ -149,5 +149,5 @@
 //! EventHook to update the prompt.
 //
-void Console::EventHook()
+void Console::EventHook(bool)
 {
     // If the output is continous and we are going to output something
@@ -155,5 +155,6 @@
     // doesn't work well if the input line is already two lines)
     // and then flush the buffer.
-    if (fContinous && fLogO.GetSizeBacklog()>0)
+    const bool newline = fContinous && fLogO.GetSizeBacklog()>0;
+    if (newline)
     {
         // Clear the line we are going to overwrite
@@ -163,5 +164,5 @@
 
     // Call Readline's EventHook to update the prompt
-    Readline::EventHook();
+    Readline::EventHook(newline);
 }
 
Index: /trunk/FACT++/src/Console.h
===================================================================
--- /trunk/FACT++/src/Console.h	(revision 16868)
+++ /trunk/FACT++/src/Console.h	(revision 16869)
@@ -69,5 +69,5 @@
 
     void Startup();
-    void EventHook();
+    void EventHook(bool);
     void Run(const char * = 0);
 };
Index: /trunk/FACT++/src/Readline.cc
===================================================================
--- /trunk/FACT++/src/Readline.cc	(revision 16868)
+++ /trunk/FACT++/src/Readline.cc	(revision 16869)
@@ -310,5 +310,5 @@
 //! with some information (e.g. time) just by overwriting GetUpdatePrompt()
 //!
-void Readline::EventHook()
+void Readline::EventHook(bool newline)
 {
     const string cpy = fExternalInput;
@@ -325,13 +325,6 @@
         p = rl_prompt;
 
-    const string line_buffer = rl_line_buffer;
-    const int    point       = rl_point;
-
-    rl_replace_line("", 1);
-    UpdatePrompt("");
-    Redisplay();
-
-    rl_replace_line(line_buffer.c_str(), 1);
-    rl_point = point;
+    if (newline)
+        rl_on_new_line();
 
     UpdatePrompt(p);
Index: /trunk/FACT++/src/Readline.h
===================================================================
--- /trunk/FACT++/src/Readline.h	(revision 16868)
+++ /trunk/FACT++/src/Readline.h	(revision 16869)
@@ -6,4 +6,5 @@
 #include <vector>
 #include <fstream>
+#include <iostream>
 
 class Readline
@@ -50,5 +51,5 @@
     virtual int  Getc(FILE *);
     virtual void Startup();
-    virtual void EventHook();
+    virtual void EventHook(bool newline=false);
     virtual void Shutdown(const char *buf);
     virtual void Redisplay();
@@ -99,5 +100,5 @@
     virtual bool PreProcess(const std::string &str);
     virtual bool Process(const std::string &str);
-    virtual std::string GetUpdatePrompt() const { return ""; }
+    virtual std::string GetUpdatePrompt() const { std::cout << "**********" << std::endl; return ""; }
     virtual bool PromptEOF(std::string &str);
     virtual std::string Prompt(const std::string &prompt);
Index: /trunk/FACT++/src/ReadlineWindow.h
===================================================================
--- /trunk/FACT++/src/ReadlineWindow.h	(revision 16868)
+++ /trunk/FACT++/src/ReadlineWindow.h	(revision 16869)
@@ -20,5 +20,5 @@
     void Startup();
     void Redisplay();
-    void EventHook();
+    void EventHook(bool = false);
     void CompletionDisplay(char **matches, int num, int max);
 
