Pretty: bugfix fillNB (#10735)
authorThomas Miedema <thomasmiedema@gmail.com>
Tue, 4 Aug 2015 20:32:06 +0000 (22:32 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Wed, 12 Aug 2015 09:19:14 +0000 (11:19 +0200)
commit67576ddc67f39bef43c473f30af0887d22011710
tree1abbca23157983de9d7cbcabb699bd830b315243
parent8cce7e4bc8f17f1c9ef4d4028b5145829fc3334b
Pretty: bugfix fillNB (#10735)

This is a backport of a bug fix by Benedikt Huber (#2393), from commit
1e50748beaa4bd2281d323b18ea51c786bba04a1 in the pretty library.

From https://mail.haskell.org/pipermail/libraries/2008-June/009991.html:

    Law <l1> states that

    > sep (ps++[empty]++qs)   = sep (ps ++ qs)
    >         ...ditto hsep, hcat, vcat, fill...

    In the current implementation, this fails for the paragraph fill
    variants.

    > render' $ fsep [ text "c", text "c",empty, text "c", text "b"]
    >   where render' = renderStyle (Style PageMode 7 1.4)
    >> c c c
    >>     b
compiler/utils/Pretty.hs