From 9a809d4d01f1a9cba4401e98d95cccf8a0ec7e75 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 17 Apr 2020 22:42:21 -0700 Subject: Markdown writer: avoid unnecessary escapes before intraword `_` when `intraword_underscores` extension is enabled. Closes #6296. --- src/Text/Pandoc/Writers/Markdown.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/Text/Pandoc') diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs index 7a11e3c16..fb9888b24 100644 --- a/src/Text/Pandoc/Writers/Markdown.hs +++ b/src/Text/Pandoc/Writers/Markdown.hs @@ -313,7 +313,12 @@ escapeText opts = case cs of '.':'.':rest -> '\\':'.':'.':'.':go rest _ -> '.':go cs - _ -> c : go cs + _ -> case cs of + '_':x:xs + | isEnabled Ext_intraword_underscores opts + , isAlphaNum c + , isAlphaNum x -> c : '_' : x : go xs + _ -> c : go cs attrsToMarkdown :: Attr -> Doc Text attrsToMarkdown attribs = braces $ hsep [attribId, attribClasses, attribKeys] -- cgit v1.2.3