From: simonpj@microsoft.com Date: Thu, 1 Mar 2007 11:45:13 +0000 (+0000) Subject: Do not go into an infinite loop when pretty-printer finds a negative indent (Trac... X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=2d52ee06786e5caf0c2d65a4b4bb7c45c6493190 Do not go into an infinite loop when pretty-printer finds a negative indent (Trac #1176) --- diff --git a/compiler/utils/Pretty.lhs b/compiler/utils/Pretty.lhs index 31d65f2..0fc817f 100644 --- a/compiler/utils/Pretty.lhs +++ b/compiler/utils/Pretty.lhs @@ -225,6 +225,7 @@ allow you to use either GHC or Hugs. To get GHC, just set the CPP variable #define GR ># #define GREQ >=# #define LT <# +#define LTEQ <=# #define DIV `quotInt#` @@ -994,11 +995,11 @@ cant_fail = error "easy_display: NoDoc" indent n | n GREQ ILIT(8) = '\t' : indent (n MINUS ILIT(8)) | otherwise = spaces n -multi_ch ILIT(0) ch = "" -multi_ch n ch = ch : multi_ch (n MINUS ILIT(1)) ch +multi_ch n ch | n LTEQ ILIT(0) = "" + | otherwise = ch : multi_ch (n MINUS ILIT(1)) ch -spaces ILIT(0) = "" -spaces n = ' ' : spaces (n MINUS ILIT(1)) +spaces n | n LTEQ ILIT(0) = "" + | otherwise = ' ' : spaces (n MINUS ILIT(1)) \end{code} \begin{code}