From be3eef905a72a5b21b5ec6fe51662e958249ca60 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sat, 12 Jan 2008 15:54:13 +0000 Subject: [PATCH] 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 --- compiler/ghci/InteractiveUI.hs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) 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) -- 1.7.10.4