aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Text/Pandoc/Parsing.hs6
-rw-r--r--test/command/4637.md6
2 files changed, 10 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 ()
diff --git a/test/command/4637.md b/test/command/4637.md
new file mode 100644
index 000000000..892b060a1
--- /dev/null
+++ b/test/command/4637.md
@@ -0,0 +1,6 @@
+```
+% pandoc -t latex
+more \indextext{dogs}' than \indextext{cats}'
+^D
+more \indextext{dogs}' than \indextext{cats}'
+```