@@ -201,18 +201,21 @@ pshow' i (Elaborating s n e) = "When elaborating " ++ s ++
201201pshow' i (ProviderError msg) = "Type provider error: " ++ msg
202202pshow' i (LoadingFailed fn e) = "Loading " ++ fn ++ " failed: " ++ pshow' i e
203203pshow' i (ReflectionError parts orig) = let parts' = map (concat . intersperse " " . map showPart) parts in
204− concat (intersperse "\n" parts') ++
205− "\nOriginal error:\n" ++ indented (pshow' i orig)
206− where showPart :: ErrorReportPart -> String
207− showPart (TextPart str) = str
208− showPart (NamePart n) = let colour = idris_colourRepl i in
209− showName (Just i) [] False colour n
210− showPart (TermPart tm) = let colour = idris_colourRepl i
211− in showImp (Just i) False colour (delab i tm)
212− showPart (SubReport rs) = indented . concat . intersperse " " . map showPart $ rs
204+ concat (intersperse "\n" parts') ++
205+ if (opt_origerr (idris_options i))
206+ then "\nOriginal error:\n" ++ indented (pshow i orig)
207+ else ""
208+ where showPart :: ErrorReportPart -> String
209+ showPart (TextPart str) = str
210+ showPart (NamePart n) = let colour = idris_colourRepl i in
211+ showName (Just i) [] False colour n
212+ showPart (TermPart tm) = let colour = idris_colourRepl i
213+ in showImp (Just i) False colour (delab i tm)
214+ showPart (SubReport rs) = indented . concat . intersperse " " . map showPart $ rs
213215pshow' i (ReflectionFailed msg err) = "When attempting to perform error reflection, the following internal error occurred:\n" ++
214− indented (pshow' i err) ++
215− "\nThis is probably a bug. Please consider reporting it at " ++ bugaddr
216+ indented msg ++
217+ indented (pshow i err) ++
218+ "\nThis is probably a bug. Please consider reporting it at " ++ bugaddr
216219
217220
218221showSc i [] = ""