aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/Writers/Markdown.hs
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2017-06-12 09:16:05 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2017-06-12 09:23:30 +0200
commit8a000e3ecc330ff8a4953ebe8c7da9a54eca5c58 (patch)
tree6c05a38c8c31fc78bbbdc26cd3fec50c42c244cf /src/Text/Pandoc/Writers/Markdown.hs
parentb466152d6185750438f7355701ae68186692d65b (diff)
downloadpandoc-8a000e3ecc330ff8a4953ebe8c7da9a54eca5c58.tar.gz
Markdown writer: don't allow soft break in header.
Closes #3736.
Diffstat (limited to 'src/Text/Pandoc/Writers/Markdown.hs')
-rw-r--r--src/Text/Pandoc/Writers/Markdown.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Writers/Markdown.hs b/src/Text/Pandoc/Writers/Markdown.hs
index 69243a214..3ac677943 100644
--- a/src/Text/Pandoc/Writers/Markdown.hs
+++ b/src/Text/Pandoc/Writers/Markdown.hs
@@ -475,6 +475,8 @@ blockToMarkdown' opts (Header level attr inlines) = do
space <> attrsToMarkdown attr
| otherwise -> empty
contents <- inlineListToMarkdown opts $
+ -- ensure no newlines; see #3736
+ walk lineBreakToSpace $
if level == 1 && plain
then capitalize inlines
else inlines
@@ -1203,3 +1205,8 @@ toSubscript c
Just $ chr (0x2080 + (ord c - 48))
| isSpace c = Just c
| otherwise = Nothing
+
+lineBreakToSpace :: Inline -> Inline
+lineBreakToSpace LineBreak = Space
+lineBreakToSpace SoftBreak = Space
+lineBreakToSpace x = x