Whoops, *don't* reset the complete session in 'withLocalCallbacks'.
authorThomas Schilling <nominolo@googlemail.com>
Fri, 28 Nov 2008 15:07:27 +0000 (15:07 +0000)
committerThomas Schilling <nominolo@googlemail.com>
Fri, 28 Nov 2008 15:07:27 +0000 (15:07 +0000)
compiler/main/HscTypes.lhs

index c187932..e79acf4 100644 (file)
@@ -480,7 +480,8 @@ withLocalCallbacks f m = do
   let cb' = f cb0
   setSession (hsc_env { hsc_callbacks = cb' `seq` cb' })
   r <- m
-  setSession (hsc_env { hsc_callbacks = cb0 })
+  hsc_env' <- getSession
+  setSession (hsc_env' { hsc_callbacks = cb0 })
   return r
 
 \end{code}