git.iko.soy/typeable/pandoc
on master help sign in
Markdown suffix parser fix.
0ca84f0John MacFarlane
src/Text/Pandoc/Readers/Markdown.hs+7−2
@@ -34,7 +34,7 @@ module Text.Pandoc.Readers.Markdown (
34import Data.List ( transpose, isSuffixOf, sortBy, findIndex, intercalate )
34import Data.List ( transpose, isSuffixOf, sortBy, findIndex, intercalate )
35import qualified Data.Map as M
35import qualified Data.Map as M
36import Data.Ord ( comparing )
36import Data.Ord ( comparing )
37−import Data.Char ( isAlphaNum )
37+import Data.Char ( isAlphaNum, isPunctuation )
38import Data.Maybe
38import Data.Maybe
39import Text.Pandoc.Definition
39import Text.Pandoc.Definition
40import Text.Pandoc.Shared
40import Text.Pandoc.Shared
@@ -1367,7 +1367,12 @@ citeKey = try $ do
1367suffix :: GenParser Char ParserState [Inline]
1367suffix :: GenParser Char ParserState [Inline]
1368suffix = try $ do
1368suffix = try $ do
1369 spnl
1369 spnl
1370− liftM normalizeSpaces $ many $ notFollowedBy (oneOf ";]") >> inline
1370+ res <- many $ notFollowedBy (oneOf ";]") >> inline
1371+ return $ case res of
1372+ [] -> []
1373+ (Str (y:_) : _) | isPunctuation y
1374+ -> res
1375+ _ -> Str "," : Space : res
1371
1376
1372prefix :: GenParser Char ParserState [Inline]
1377prefix :: GenParser Char ParserState [Inline]
1373prefix = liftM normalizeSpaces $
1378prefix = liftM normalizeSpaces $