From 490f34dee5a1fc046d66ec1adf32f4c24c5f5e4f Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sat, 18 Jul 2020 23:17:37 -0700
Subject: Markdown writer: move asciify out of escapeString.

Otherwise unsmartify doesn't catch quotes that have
already been turned to entities.
---
 src/Text/Pandoc/Writers/Markdown.hs | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

(limited to 'src')

diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 37cdca005..15807123e 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -290,10 +290,7 @@ noteToMarkdown opts num blocks = do
 
 -- | Escape special characters for Markdown.
 escapeText :: WriterOptions -> Text -> Text
-escapeText opts =
-  (if writerPreferAscii opts
-      then toHtml5Entities
-      else id) . T.pack . go . T.unpack
+escapeText opts = T.pack . go . T.unpack
   where
   go [] = []
   go (c:cs) =
@@ -1171,12 +1168,15 @@ inlineToMarkdown opts (Code attr str) = do
                   (marker <> spacer <> str <> spacer <> marker) <> attrs
 inlineToMarkdown opts (Str str) = do
   variant <- asks envVariant
-  let str' = (if isEnabled Ext_smart opts
+  let str' = (if writerPreferAscii opts
+                 then toHtml5Entities
+                 else id) .
+             (if isEnabled Ext_smart opts
                  then unsmartify opts
-                 else id) $
-              if variant == PlainText
-                 then str
-                 else escapeText opts str
+                 else id) .
+             (if variant == PlainText
+                 then id
+                 else escapeText opts) $ str
   return $ literal str'
 inlineToMarkdown opts (Math InlineMath str) =
   case writerHTMLMathMethod opts of
-- 
cgit v1.2.3