aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2018-05-09 10:00:34 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2018-05-09 10:00:34 -0700
commit81881ce4708f06ca53088d95ff249b48f2b2e88d (patch)
treeebfc555f8170b28941b97c8768d09f97e98bd71b /src/Text/Pandoc
parent5f33d2e0cd9f19566904c93be04f586de811dd75 (diff)
downloadpandoc-81881ce4708f06ca53088d95ff249b48f2b2e88d.tar.gz
Parsing: Lookahead for non-whitespace after single/double quote start.
Closes #4637.
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r--src/Text/Pandoc/Parsing.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs
index fa6baf1c7..05f4f7d36 100644
--- a/src/Text/Pandoc/Parsing.hs
+++ b/src/Text/Pandoc/Parsing.hs
@@ -1366,7 +1366,9 @@ singleQuoteStart = do
failIfInQuoteContext InSingleQuote
-- single quote start can't be right after str
guard =<< notAfterString
- () <$ charOrRef "'\8216\145"
+ try $ do
+ charOrRef "'\8216\145"
+ notFollowedBy (oneOf [' ', '\t', '\n'])
singleQuoteEnd :: Stream s m Char
=> ParserT s st m ()
@@ -1379,7 +1381,7 @@ doubleQuoteStart :: (HasQuoteContext st m, Stream s m Char)
doubleQuoteStart = do
failIfInQuoteContext InDoubleQuote
try $ do charOrRef "\"\8220\147"
- notFollowedBy . satisfy $ flip elem [' ', '\t', '\n']
+ notFollowedBy (oneOf [' ', '\t', '\n'])
doubleQuoteEnd :: Stream s m Char
=> ParserT s st m ()