git.iko.soy/typeable/pandoc
on master help sign in
Markdown reader: require space before title in links and references.
fbb0482fiddlosopher
src/Text/Pandoc/Readers/Markdown.hs+2−5
@@ -56,7 +56,6 @@ readMarkdown state str = (readWith parseMarkdown) state (str ++ "\n\n")
56spaceChars = " \t"
56spaceChars = " \t"
57bulletListMarkers = "*+-"
57bulletListMarkers = "*+-"
58hruleChars = "*-_"
58hruleChars = "*-_"
59−titleOpeners = "\"'("
60setextHChars = "=-"
59setextHChars = "=-"
61
60
62-- treat these as potentially non-text when parsing inline:
61-- treat these as potentially non-text when parsing inline:
@@ -185,8 +184,7 @@ referenceKey = try $ do
185 return $ replicate (sourceLine endPos - sourceLine startPos) '\n'
184 return $ replicate (sourceLine endPos - sourceLine startPos) '\n'
186
185
187referenceTitle = try $ do
186referenceTitle = try $ do
188− skipSpaces
187+ (many1 spaceChar >> option '\n' newline) <|> newline
189− optional newline
190 skipSpaces
188 skipSpaces
191 tit <- (charsInBalanced '(' ')' >>= return . unwords . words)
189 tit <- (charsInBalanced '(' ')' >>= return . unwords . words)
192 <|> do delim <- char '\'' <|> char '"'
190 <|> do delim <- char '\'' <|> char '"'
@@ -831,8 +829,7 @@ source = try $ do
831 return (removeTrailingSpace src, tit)
829 return (removeTrailingSpace src, tit)
832
830
833linkTitle = try $ do
831linkTitle = try $ do
834− skipSpaces
832+ (many1 spaceChar >> option '\n' newline) <|> newline
835− optional newline
836 skipSpaces
833 skipSpaces
837 delim <- char '\'' <|> char '"'
834 delim <- char '\'' <|> char '"'
838 tit <- manyTill anyChar (try (char delim >> skipSpaces >>
835 tit <- manyTill anyChar (try (char delim >> skipSpaces >>