diff options
author | John MacFarlane <jgm@berkeley.edu> | 2012-09-28 23:29:54 -0400 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2012-09-28 23:29:54 -0400 |
commit | 632fd49d07cb6f286fb11dc9512115bff39049fd (patch) | |
tree | 641a8c6665c3485e6225c4fd4b915aa376e3e1e7 | |
parent | d6ddc2ff614a66ca135ce44140f469500c3cb6b6 (diff) | |
download | pandoc-632fd49d07cb6f286fb11dc9512115bff39049fd.tar.gz |
Textile reader: Fixed bug affected words ending in hyphen.
Note: sepBy1 doesn't work quite as I expected. It gives odd
results if sep succeeds but not p.
-rw-r--r-- | src/Text/Pandoc/Readers/Textile.hs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Textile.hs b/src/Text/Pandoc/Readers/Textile.hs index 41600c7ee..170ccc2c7 100644 --- a/src/Text/Pandoc/Readers/Textile.hs +++ b/src/Text/Pandoc/Readers/Textile.hs @@ -327,7 +327,7 @@ maybeExplicitBlock :: String -- ^ block tag name -> Parser [Char] ParserState Block maybeExplicitBlock name blk = try $ do optional $ try $ string name >> optional attributes >> char '.' >> - ((try whitespace) <|> endline) + optional whitespace >> optional endline blk @@ -427,7 +427,10 @@ wordBoundaries = markupChars ++ stringBreakers -- | Parse a hyphened sequence of words hyphenedWords :: Parser [Char] ParserState String -hyphenedWords = intercalate "-" <$> sepBy1 wordChunk (char '-') +hyphenedWords = do + x <- wordChunk + xs <- many (try $ char '-' >> wordChunk) + return $ intercalate "-" (x:xs) wordChunk :: Parser [Char] ParserState String wordChunk = try $ do |