diff options
author | John MacFarlane <fiddlosopher@gmail.com> | 2011-11-09 13:18:01 -0800 |
---|---|---|
committer | John MacFarlane <fiddlosopher@gmail.com> | 2011-11-09 13:18:01 -0800 |
commit | d74e8d14a565a359126b6b1633c074f4591dc7c3 (patch) | |
tree | af777abd0462237fc59f8f63ea8a060c8781e45e /src | |
parent | 6a51897f339dc40ade91272e4e6cb4192bd91c7b (diff) | |
download | pandoc-d74e8d14a565a359126b6b1633c074f4591dc7c3.tar.gz |
Markdown citations: don't strip off initial space in locator.
Previously `[@item1 and nowhere else]` yielded the locator ", and nowhere
else", or, with the new citeproc-hs, "and nowhere else".
Now it yields " and nowhere else".
Diffstat (limited to 'src')
-rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index f04ea88c4..ab146bdd0 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1321,8 +1321,12 @@ citeKey = try $ do suffix :: GenParser Char ParserState [Inline] suffix = try $ do + hasSpace <- option False (notFollowedBy nonspaceChar >> return True) spnl - liftM normalizeSpaces $ many $ notFollowedBy (oneOf ";]") >> inline + rest <- liftM normalizeSpaces $ many $ notFollowedBy (oneOf ";]") >> inline + return $ if hasSpace + then Space : rest + else rest prefix :: GenParser Char ParserState [Inline] prefix = liftM normalizeSpaces $ |