From a07d955d6f96e78ade3e09c150ce580fb6e6f3a7 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Thu, 16 Sep 2021 20:42:18 -0700 Subject: Fix code blocks using `--preserve-tabs`. Previously they did not behave as the equivalent input with spaces would. Closes #7573. --- src/Text/Pandoc/Readers/Markdown.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 45594e0fa..917eef287 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1124,7 +1124,13 @@ rawHtmlBlocks = do let selfClosing = "/>" `T.isSuffixOf` raw -- we don't want ' text' to be a code block: skipMany spaceChar - indentlevel <- (blankline >> length <$> many (char ' ')) <|> return 0 + tabStop <- getOption readerTabStop + indentlevel <- option 0 $ + do blankline + foldr (+) 0 <$> + many ( (1 <$ char ' ') + <|> + (tabStop <$ char '\t') ) -- try to find closing tag -- we set stateInHtmlBlock so that closing tags that can be either block or -- inline will not be parsed as inline tags -- cgit v1.2.3