From: Simon Marlow Date: Tue, 4 Dec 2007 11:39:45 +0000 (+0000) Subject: :cd with no argument goes to the user's home directory X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=d297cfc0ca26fa68ec38756c0751a589c97e0206 :cd with no argument goes to the user's home directory Seems better than getting a confusing 'cannot find directory' exception. --- diff --git a/compiler/ghci/InteractiveUI.hs b/compiler/ghci/InteractiveUI.hs index 3ae37f5..8cc1513 100644 --- a/compiler/ghci/InteractiveUI.hs +++ b/compiler/ghci/InteractiveUI.hs @@ -846,6 +846,12 @@ addModule files = do afterLoad ok session False prev_context changeDirectory :: String -> GHCi () +changeDirectory "" = do + -- :cd on its own changes to the user's home directory + either_dir <- io (IO.try getHomeDirectory) + case either_dir of + Left _e -> return () + Right dir -> changeDirectory dir changeDirectory dir = do session <- getSession graph <- io (GHC.getModuleGraph session)