From 698eb059b76376063bb10c86a328c814b3aaa2cf Mon Sep 17 00:00:00 2001
From: Michael Thompson <what_is_it_to_do_anything@yahoo.com>
Date: Wed, 7 Mar 2012 11:35:18 -0500
Subject: [PATCH] escape initial dot in code lines

---
 src/Text/Pandoc/Writers/Man.hs | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs
index d3735efa7..a0ac16b85 100644
--- a/src/Text/Pandoc/Writers/Man.hs
+++ b/src/Text/Pandoc/Writers/Man.hs
@@ -112,7 +112,11 @@ escapeString = escapeStringUsing manEscapes
 
 -- | Escape a literal (code) section for Man.
 escapeCode :: String -> String
-escapeCode = escapeStringUsing (manEscapes ++ backslashEscapes "\t ")
+escapeCode = concat . intersperse "\n" . map escapeLine . lines  where
+  escapeLine codeline = 
+    case escapeStringUsing (manEscapes ++ backslashEscapes "\t ") codeline of
+      a@('.':_) -> "\\&" ++ a
+      b       -> b
 
 -- We split inline lists into sentences, and print one sentence per
 -- line.  groff/troff treats the line-ending period differently.