git.iko.soy/typeable/pandoc
on master help sign in
LaTeX reader: withVerbatimMode now does nothing if already in

verbatim mode. Previously nested uses wouldn't work properly.

commit252398a4f3c33cff4a0407e749cf3abebca7654f authorJohn MacFarlane <jgm@berkeley.edu> dateMon 15 Oct 2018, 17:28 (8 years ago) parent5bd852c
1 file changed+8−4
src/Text/Pandoc/Readers/LaTeX/Parsing.hs+8−4
src/Text/Pandoc/Readers/LaTeX/Parsing.hs+8−4
@@ -216,10 +216,14 @@ type LP m = ParserT [Tok] LaTeXState m
216216
217217withVerbatimMode :: PandocMonad m => LP m a -> LP m a
218218withVerbatimMode parser = do
219− updateState $ \st -> st{ sVerbatimMode = True }
220− result <- parser
221− updateState $ \st -> st{ sVerbatimMode = False }
222− return result
219+ alreadyVerbatimMode <- sVerbatimMode <$> getState
220+ if alreadyVerbatimMode
221+ then parser
222+ else do
223+ updateState $ \st -> st{ sVerbatimMode = True }
224+ result <- parser
225+ updateState $ \st -> st{ sVerbatimMode = False }
226+ return result
223227
224228rawLaTeXParser :: (PandocMonad m, HasMacros s, HasReaderOptions s)
225229 => Bool -> LP m a -> LP m a -> ParserT String s m (a, String)