diff options
-rw-r--r-- | src/Text/Pandoc/Readers/Org.hs | 6 | ||||
-rw-r--r-- | tests/Tests/Readers/Org.hs | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Readers/Org.hs b/src/Text/Pandoc/Readers/Org.hs index 99a6927e2..c7906618c 100644 --- a/src/Text/Pandoc/Readers/Org.hs +++ b/src/Text/Pandoc/Readers/Org.hs @@ -87,8 +87,10 @@ parseOrg = do -- | Drop COMMENT headers and the document tree below those headers. dropCommentTrees :: [Block] -> [Block] dropCommentTrees [] = [] -dropCommentTrees blks@(b:bs) = - maybe blks (flip dropUntilHeaderAboveLevel bs) $ commentHeaderLevel b +dropCommentTrees (b:bs) = + maybe (b:dropCommentTrees bs) + (dropCommentTrees . flip dropUntilHeaderAboveLevel bs) + (commentHeaderLevel b) -- | Return the level of a header starting a comment or :noexport: tree and -- Nothing otherwise. diff --git a/tests/Tests/Readers/Org.hs b/tests/Tests/Readers/Org.hs index 2bde26f0f..bb3bffe22 100644 --- a/tests/Tests/Readers/Org.hs +++ b/tests/Tests/Readers/Org.hs @@ -569,6 +569,16 @@ tests = ] =?> (mempty::Blocks) + , "Subtree with :noexport:" =: + unlines [ "* Exported" + , "** This isn't exported :noexport:" + , "*** This neither" + , "** But this is" + ] =?> + mconcat [ headerWith ("exported", [], []) 1 "Exported" + , headerWith ("but-this-is", [], []) 2 "But this is" + ] + , "Paragraph starting with an asterisk" =: "*five" =?> para "*five" |