diff options
author | Mauro Bieg <mb21@users.noreply.github.com> | 2019-01-01 00:26:38 +0100 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2018-12-31 15:26:38 -0800 |
commit | c8b79b0a04c113e0ea41099b0201576710158a49 (patch) | |
tree | 65140d6cadf55f70a3cf0a435930031fcde3e246 /src/Text/Pandoc/Writers | |
parent | a1ad5bb8ceda50d7a4b2ef7da2a895e57ad12db4 (diff) | |
download | pandoc-c8b79b0a04c113e0ea41099b0201576710158a49.tar.gz |
Replace read with safeRead (#5186)
closes #5180
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r-- | src/Text/Pandoc/Writers/Docx.hs | 10 | ||||
-rw-r--r-- | src/Text/Pandoc/Writers/LaTeX.hs | 12 |
2 files changed, 12 insertions, 10 deletions
diff --git a/src/Text/Pandoc/Writers/Docx.hs b/src/Text/Pandoc/Writers/Docx.hs index c2a160320..4f642871a 100644 --- a/src/Text/Pandoc/Writers/Docx.hs +++ b/src/Text/Pandoc/Writers/Docx.hs @@ -234,11 +234,11 @@ writeDocx opts doc@(Pandoc meta _) = do -- Get the available area (converting the size and the margins to int and -- doing the difference - let pgContentWidth = (-) <$> (read <$> mbAttrSzWidth ::Maybe Integer) - <*> ( - (+) <$> (read <$> mbAttrMarRight ::Maybe Integer) - <*> (read <$> mbAttrMarLeft ::Maybe Integer) - ) + let pgContentWidth = mbAttrSzWidth >>= safeRead + >>= subtrct mbAttrMarRight + >>= subtrct mbAttrMarLeft + where + subtrct mbStr = \x -> mbStr >>= safeRead >>= (\y -> Just $ x - y) -- styles mblang <- toLang $ getLang opts meta diff --git a/src/Text/Pandoc/Writers/LaTeX.hs b/src/Text/Pandoc/Writers/LaTeX.hs index ca8295f0a..f9bee886e 100644 --- a/src/Text/Pandoc/Writers/LaTeX.hs +++ b/src/Text/Pandoc/Writers/LaTeX.hs @@ -553,16 +553,18 @@ blockToLaTeX (Div (identifier,classes,kvs) bs) else id wrapColumn = if "column" `elem` classes then \contents -> - let fromPct xs = - case reverse xs of - '%':ds -> showFl (read (reverse ds) / 100 :: Double) - _ -> xs - w = maybe "0.48" fromPct (lookup "width" kvs) + let w = maybe "0.48" fromPct (lookup "width" kvs) in inCmd "begin" "column" <> braces (text w <> "\\textwidth") $$ contents $$ inCmd "end" "column" else id + fromPct xs = + case reverse xs of + '%':ds -> case safeRead (reverse ds) of + Just digits -> showFl (digits / 100 :: Double) + Nothing -> xs + _ -> xs wrapDir = case lookup "dir" kvs of Just "rtl" -> align "RTL" Just "ltr" -> align "LTR" |