@@ -3,6 +3,7 @@
33{-# LANGUAGE RankNTypes #-}
44{-# LANGUAGE ScopedTypeVariables #-}
55{-# LANGUAGE ViewPatterns #-}
6+{-# LANGUAGE FlexibleContexts #-}
67{-# LANGUAGE OverloadedStrings #-}
78{- |
89 Module : Text.Pandoc.Writers.Docx
@@ -19,7 +20,7 @@ module Text.Pandoc.Writers.Docx ( writeDocx ) where
1920import Prelude
2021import Codec.Archive.Zip
2122import Control.Applicative ((<|>))
22−import Control.Monad.Except (catchError)
23+import Control.Monad.Except (catchError, throwError)
2324import Control.Monad.Reader
2425import Control.Monad.State.Strict
2526import qualified Data.ByteString as B
@@ -43,6 +44,7 @@ import Text.Pandoc.UTF8 (fromStringLazy)
4344import Text.Pandoc.Definition
4445import Text.Pandoc.Generic
4546import Text.Pandoc.Highlighting (highlight)
47+import Text.Pandoc.Error
4648import Text.Pandoc.ImageSize
4749import Text.Pandoc.Logging
4850import Text.Pandoc.MIME (MimeType, extensionFromMimeType, getMimeType,
@@ -580,7 +582,8 @@ writeDocx opts doc@(Pandoc meta _) = do
580582 settingsEntry <- copyChildren refArchive distArchive settingsPath epochtime settingsList
581583
582584 let entryFromArchive arch path =
583− maybe (Prelude.fail $ path ++ " missing in reference docx")
585+ maybe (throwError $ PandocSomeError
586+ $ path ++ " missing in reference docx")
584587 return
585588 (findEntryByPath path arch `mplus` findEntryByPath path distArchive)
586589 docPropsAppEntry <- entryFromArchive refArchive "docProps/app.xml"