<+>: Don't insert a space when concatenating empty nodes

(cherry picked from commit cf73b006faf95512b28c744ecfbdf47c044acb67)
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Fix @ code blocks

In cases where we had some horizontal space before the closing ‘@’, the
parser would not accept the block as a code block and we'd get ugly
output.

(cherry picked from commit 7d2106e18f26a680d157ef943da2602e7199afa1)
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update tests

This updates tests due to Haddock Trac #271 fix and due to removal of
TypeHoles as an extension from GHC.

(cherry picked from commit 18e9417edcda21dd23edf675b41f46ab336d773f)
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Handle infix vs prefix names correctly everywhere, by explicitly specifying the context

The basic idea is that "a" and "+" are either pretty-printed as "a" and "(+)"  or "`a`" and "+"

(cherry picked from commit 039b2346cd7a9998135636146ea234eb9cc0fbab)
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Correct whitespace in ‘hidden’ test for <+> change

(cherry picked from commit 880b91ed0f2fe63c7d35a83ecebb3aa29c2ffc1d)
Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>