From 6dd21250288b51f10056b15a83130f76c788d904 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Fri, 2 Mar 2018 19:30:42 -0800
Subject: Commonmark reader: parse HTML as plain text if `-raw_html`.

---
 changelog                             | 8 ++++++++
 src/Text/Pandoc/Readers/CommonMark.hs | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/changelog b/changelog
index cd60dc428..1fe42db29 100644
--- a/changelog
+++ b/changelog
@@ -7,6 +7,14 @@ pandoc (2.1.2)
     interfered with list parsing, so now we require the fences to be flush with
     the margin of the containing block.
 
+  * Commonmark reader:
+
+    + `raw_html` is now on by default.  It can be disabled explicitly
+      using `-f commonmark-raw_html`.
+    + When `raw_html` is disabled, HTML is parsed as regular text,
+      rather than disappearing altogether.  This matches the behavior
+      of `markdown`.
+
   * Org reader (Albert Krewinkel):
 
     + Move citation tests to separate module.
diff --git a/src/Text/Pandoc/Readers/CommonMark.hs b/src/Text/Pandoc/Readers/CommonMark.hs
index 6fbc09c17..e5b8775c1 100644
--- a/src/Text/Pandoc/Readers/CommonMark.hs
+++ b/src/Text/Pandoc/Readers/CommonMark.hs
@@ -109,7 +109,7 @@ addBlock opts (Node _ BLOCK_QUOTE nodes) =
   (BlockQuote (addBlocks opts nodes) :)
 addBlock opts (Node _ (HTML_BLOCK t) _)
   | isEnabled Ext_raw_html opts = (RawBlock (Format "html") (unpack t) :)
-  | otherwise                 = id
+  | otherwise                   = (Para [Str (unpack t)] :)
 -- Note:  the cmark parser will never generate CUSTOM_BLOCK,
 -- so we don't need to handle it:
 addBlock _ (Node _ (CUSTOM_BLOCK _onEnter _onExit) _nodes) =
@@ -215,7 +215,7 @@ addInline opts (Node _ SOFTBREAK _)
   | otherwise                           = (SoftBreak :)
 addInline opts (Node _ (HTML_INLINE t) _)
   | isEnabled Ext_raw_html opts = (RawInline (Format "html") (unpack t) :)
-  | otherwise                 = id
+  | otherwise                   = (Str (unpack t) :)
 -- Note:  the cmark parser will never generate CUSTOM_BLOCK,
 -- so we don't need to handle it:
 addInline _ (Node _ (CUSTOM_INLINE _onEnter _onExit) _nodes) =
-- 
cgit v1.2.3