From 5295316c16a2abfa56796fad93017a45c5f3adf8 Mon Sep 17 00:00:00 2001
From: sof <unknown>
Date: Thu, 4 Sep 1997 20:19:15 +0000
Subject: [PATCH] [project @ 1997-09-04 20:19:15 by sof] ppr wibble; new
 functions: dumpIfSet, doIfSet

---
 ghc/compiler/main/ErrUtils.lhs | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/ghc/compiler/main/ErrUtils.lhs b/ghc/compiler/main/ErrUtils.lhs
index 6e6e99aae994..486cb6ed072f 100644
--- a/ghc/compiler/main/ErrUtils.lhs
+++ b/ghc/compiler/main/ErrUtils.lhs
@@ -12,14 +12,15 @@ module ErrUtils (
 	addShortErrLocLine, addShortWarnLocLine,
 	dontAddErrLoc,
 	pprBagOfErrors,
-	ghcExit
+	ghcExit,
+	doIfSet, dumpIfSet
     ) where
 
 IMP_Ubiq(){-uitous-}
 
 import CmdLineOpts      ( opt_PprUserLength )
 import Bag		--( bagToList )
-import Outputable	( PprStyle(..), Outputable(..) )
+import Outputable	( PprStyle(..), Outputable(..), printErrs )
 import Pretty
 import SrcLoc		( noSrcLoc, SrcLoc{-instance-} )
 \end{code}
@@ -53,7 +54,8 @@ dontAddErrLoc title rest_of_err_msg sty
 
 pprBagOfErrors :: PprStyle -> Bag Error -> Doc
 pprBagOfErrors sty bag_of_errors
-  = let  pretties = map ( \ e -> e sty ) (bagToList bag_of_errors)  in
+  = let  pretties = map ( \ e -> e sty ) (bagToList bag_of_errors)
+    in
     vcat (map (\ p -> ($$) space p) pretties)
 \end{code}
 
@@ -65,3 +67,23 @@ ghcExit val
     then error "Compilation had errors\n"
     else return ()
 \end{code}
+
+\begin{code}
+doIfSet :: Bool -> IO () -> IO ()
+doIfSet flag action | flag      = action
+		    | otherwise = return ()
+\end{code}
+
+\begin{code}
+dumpIfSet :: Bool -> String -> Doc -> IO ()
+dumpIfSet flag hdr doc
+  | not flag  = return ()
+  | otherwise = printErrs dump
+  where
+    dump = (line <+> text hdr <+> line)
+	   $$
+	   doc
+	   $$
+	   text ""
+    line = text (take 20 (repeat '='))
+\end{code}
-- 
GitLab