From: Ian Lynagh Date: Sat, 12 Jan 2008 15:54:13 +0000 (+0000) Subject: don't initialize readline needlessly X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=be3eef905a72a5b21b5ec6fe51662e958249ca60 don't initialize readline needlessly Readline.initialize spills some escape sequences to stdout for some terminal types, potentially spoiling ghc -e output. So don't initialize readline unless we're working interactively on a terminal. Patch from Bertram Felgenhauer --- diff --git a/compiler/ghci/InteractiveUI.hs b/compiler/ghci/InteractiveUI.hs index 2199cc9..e4439d6 100644 --- a/compiler/ghci/InteractiveUI.hs +++ b/compiler/ghci/InteractiveUI.hs @@ -298,21 +298,21 @@ interactiveUI session srcs maybe_expr = do -- intended for the program, so unbuffer stdin. hSetBuffering stdin NoBuffering - -- initial context is just the Prelude - prel_mod <- GHC.findModule session (GHC.mkModuleName "Prelude") - (Just basePackageId) - GHC.setContext session [] [prel_mod] - #ifdef USE_READLINE - Readline.initialize - Readline.setAttemptedCompletionFunction (Just completeWord) - --Readline.parseAndBind "set show-all-if-ambiguous 1" + Readline.initialize + Readline.setAttemptedCompletionFunction (Just completeWord) + --Readline.parseAndBind "set show-all-if-ambiguous 1" - Readline.setBasicWordBreakCharacters word_break_chars - Readline.setCompleterWordBreakCharacters word_break_chars - Readline.setCompletionAppendCharacter Nothing + Readline.setBasicWordBreakCharacters word_break_chars + Readline.setCompleterWordBreakCharacters word_break_chars + Readline.setCompletionAppendCharacter Nothing #endif + -- initial context is just the Prelude + prel_mod <- GHC.findModule session (GHC.mkModuleName "Prelude") + (Just basePackageId) + GHC.setContext session [] [prel_mod] + default_editor <- findEditor startGHCi (runGHCi srcs maybe_expr)