aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2021-08-20 09:54:42 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2021-08-20 09:54:42 -0700
commit07d847a9100924e3c9bec1e536e2ad2b4b57162e (patch)
tree85de263315601ffb0f768e53e6463737da549ab3
parent9879953a4f385be65c0c64d02cd281a4ad676d0d (diff)
downloadpandoc-07d847a9100924e3c9bec1e536e2ad2b4b57162e.tar.gz
RST reader: Fix `:literal:` includes.
These should create code blocks, not insert raw RST. Closes #7513.
-rw-r--r--src/Text/Pandoc/Readers/RST.hs7
-rw-r--r--test/command/7436.md2
2 files changed, 3 insertions, 6 deletions
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs
index 3990f0cb5..ff891d3c6 100644
--- a/src/Text/Pandoc/Readers/RST.hs
+++ b/src/Text/Pandoc/Readers/RST.hs
@@ -466,14 +466,11 @@ includeDirective top fields body = do
let classes = maybe [] T.words (lookup "class" fields)
let ident = maybe "" trimr $ lookup "name" fields
let parser =
- case lookup "code" fields of
+ case lookup "code" fields `mplus` lookup "literal" fields of
Just lang ->
(codeblock ident classes fields (trimr lang) False
. sourcesToText) <$> getInput
- Nothing ->
- case lookup "literal" fields of
- Just _ -> B.rawBlock "rst" . sourcesToText <$> getInput
- Nothing -> parseBlocks
+ Nothing -> parseBlocks
let isLiteral = isJust (lookup "code" fields `mplus` lookup "literal" fields)
let selectLines =
(case trim <$> lookup "end-before" fields of
diff --git a/test/command/7436.md b/test/command/7436.md
index ad4cb8c2f..fd6e51aa8 100644
--- a/test/command/7436.md
+++ b/test/command/7436.md
@@ -9,6 +9,6 @@
.. include:: command/three.txt
^D
[CodeBlock ("",[""],[("code","")]) "1st line.\n2nd line.\n3rd line.\n"
-,RawBlock (Format "rst") "1st line.\n2nd line.\n3rd line.\n"
+,CodeBlock ("",[""],[("literal","")]) "1st line.\n2nd line.\n3rd line.\n"
,Para [Str "1st",Space,Str "line.",SoftBreak,Str "2nd",Space,Str "line.",SoftBreak,Str "3rd",Space,Str "line."]]
```