diff options
author | John MacFarlane <jgm@berkeley.edu> | 2017-08-07 21:18:50 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2017-08-07 21:18:50 -0700 |
commit | 5064241b24888b325836d4912085e916fe45080b (patch) | |
tree | e3755c02b9a8e9bf6e7229959f1af67841189520 | |
parent | 2c0e989f9df788b7f168159fd99d5c3e1a78aa85 (diff) | |
download | pandoc-5064241b24888b325836d4912085e916fe45080b.tar.gz |
Man writer: avoid error for def lists with no definitions.
Closes #3832.
-rw-r--r-- | src/Text/Pandoc/Writers/Man.hs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/Text/Pandoc/Writers/Man.hs b/src/Text/Pandoc/Writers/Man.hs index 4e756c419..8d677600d 100644 --- a/src/Text/Pandoc/Writers/Man.hs +++ b/src/Text/Pandoc/Writers/Man.hs @@ -305,15 +305,18 @@ definitionListItemToMan opts (label, defs) = do labelText <- inlineListToMan opts label contents <- if null defs then return empty - else liftM vcat $ forM defs $ \blocks -> do - (first, rest) <- case blocks of - ((Para x):y) -> return (Plain x,y) - (x:y) -> return (x,y) - [] -> throwError $ PandocSomeError "blocks is null" - rest' <- liftM vcat $ - mapM (\item -> blockToMan opts item) rest - first' <- blockToMan opts first - return $ first' $$ text ".RS" $$ rest' $$ text ".RE" + else liftM vcat $ forM defs $ \blocks -> + case blocks of + (x:xs) -> do + first' <- blockToMan opts $ + case x of + Para y -> Plain y + _ -> x + rest' <- liftM vcat $ mapM + (\item -> blockToMan opts item) xs + return $ first' $$ + text ".RS" $$ rest' $$ text ".RE" + [] -> return empty return $ text ".TP" $$ nowrap (text ".B " <> labelText) $$ contents -- | Convert list of Pandoc block elements to man. |