From b28c846018996aefb9128b2c5a7ad7d0975e1f05 Mon Sep 17 00:00:00 2001
From: Julien Cretel <j.cretel@umail.ucc.ie>
Date: Tue, 7 Apr 2015 13:46:14 +0100
Subject: [PATCH] Markdown Reader: eliminate common subexpressions

---
 src/Text/Pandoc/Readers/Markdown.hs | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs
index 369c889d1..ccda83576 100644
--- a/src/Text/Pandoc/Readers/Markdown.hs
+++ b/src/Text/Pandoc/Readers/Markdown.hs
@@ -1078,7 +1078,9 @@ dashedLine :: Monad m => Char
 dashedLine ch = do
   dashes <- many1 (char ch)
   sp     <- many spaceChar
-  return (length dashes, length $ dashes ++ sp)
+  let lengthDashes = length dashes
+      lengthSp     = length sp
+  return (lengthDashes, lengthDashes + lengthSp)
 
 -- Parse a table header with dashed lines of '-' preceded by
 -- one (or zero) line of text.
@@ -1231,7 +1233,8 @@ gridPart :: Monad m => Char -> ParserT [Char] st m (Int, Int)
 gridPart ch = do
   dashes <- many1 (char ch)
   char '+'
-  return (length dashes, length dashes + 1)
+  let lengthDashes = length dashes
+  return (lengthDashes, lengthDashes + 1)
 
 gridDashedLines :: Monad m => Char -> ParserT [Char] st m [(Int,Int)]
 gridDashedLines ch = try $ char '+' >> many1 (gridPart ch) <* blankline