-----------------------------------------------------------------------------
--- $Id: InteractiveUI.hs,v 1.60 2001/03/28 16:51:03 simonmar Exp $
+-- $Id: InteractiveUI.hs,v 1.64 2001/04/26 11:38:53 qrczak Exp $
--
-- GHC Interactive User Interface
--
{-# OPTIONS -#include "Linker.h" #-}
module InteractiveUI ( interactiveUI, ghciWelcomeMsg ) where
+#include "../includes/config.h"
#include "HsVersions.h"
import CompManager
import Exception
import Dynamic
-#ifndef NO_READLINE
-import Readline
+#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
+import Readline
#endif
import IOExts
Nothing -> return (cmstate, True, [])
Just m -> cmLoadModule cmstate m
-#ifndef NO_READLINE
+#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
Readline.initialize
#endif
(unGHCi runGHCi) GHCiState{ target = mod,
cmstate = cmstate,
- options = [ShowTiming] }
+ options = [] }
return ()
Right hdl -> fileLoop hdl False
-- read commands from stdin
-#ifndef NO_READLINE
+#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
readlineLoop
#else
fileLoop stdin True
fileLoop hdl prompt = do
st <- getGHCiState
mod <- io (cmGetContext (cmstate st))
- when prompt (io (hPutStr hdl (mod ++ "> ")))
+ when prompt (io (putStr (mod ++ "> ")))
l <- io (IO.try (hGetLine hdl))
case l of
Left e | isEOFError e -> return ()
l -> do quit <- runCommand l
if quit then return () else stringLoop ss
-#ifndef NO_READLINE
+#if HAVE_READLINE_HEADERS && HAVE_READLINE_LIBS
readlineLoop :: GHCi ()
readlineLoop = do
st <- getGHCiState