From 8229db3e921ba5707cd2dceec8381436e2fc4219 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Sat, 14 Jun 2008 21:14:14 +0000 Subject: [PATCH] Use bracket_ rather than bracket in withExtendedLinkEnv --- compiler/ghci/Linker.lhs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/ghci/Linker.lhs b/compiler/ghci/Linker.lhs index fbef432..712904d 100644 --- a/compiler/ghci/Linker.lhs +++ b/compiler/ghci/Linker.lhs @@ -293,22 +293,22 @@ linkDependencies hsc_env span needed_mods = do withExtendedLinkEnv :: [(Name,HValue)] -> IO a -> IO a withExtendedLinkEnv new_env action - = bracket set_new_env - reset_old_env - (const action) + = bracket_ set_new_env + reset_old_env + action where set_new_env = do pls <- readIORef v_PersistentLinkerState let new_closure_env = extendClosureEnv (closure_env pls) new_env new_pls = pls { closure_env = new_closure_env } writeIORef v_PersistentLinkerState new_pls - return (closure_env pls) + return () -- Remember that the linker state might be side-effected -- during the execution of the IO action, and we don't want to -- lose those changes (we might have linked a new module or -- package), so the reset action only removes the names we -- added earlier. - reset_old_env env = do + reset_old_env = do modifyIORef v_PersistentLinkerState $ \pls -> let cur = closure_env pls new = delListFromNameEnv cur (map fst new_env) -- 1.7.10.4