@@ -21,7 +21,6 @@ module Text.Pandoc.Filter
2121
2222import Prelude
2323import Data.Aeson.TH (deriveJSON, defaultOptions)
24−import Data.Foldable (foldrM)
2524import GHC.Generics (Generic)
2625import Text.Pandoc.Class (PandocIO)
2726import Text.Pandoc.Definition (Pandoc)
@@ -33,6 +32,7 @@ import Data.YAML
3332import qualified Data.Text as T
3433import System.FilePath (takeExtension)
3534import Control.Applicative ((<|>))
35+import Control.Monad (foldM)
3636
3737-- | Type of filter and path to filter file.
3838data Filter = LuaFilter FilePath
@@ -63,10 +63,10 @@ applyFilters :: ReaderOptions
6363 -> PandocIO Pandoc
6464applyFilters ropts filters args d = do
6565 expandedFilters <- mapM expandFilterPath filters
66− foldrM ($) d $ map applyFilter expandedFilters
66+ foldM applyFilter d expandedFilters
6767 where
68− applyFilter (JSONFilter f) = JSONFilter.apply ropts args f
69− applyFilter (LuaFilter f) = LuaFilter.apply ropts args f
68+ applyFilter doc (JSONFilter f) = JSONFilter.apply ropts args f doc
69+ applyFilter doc (LuaFilter f) = LuaFilter.apply ropts args f doc
7070
7171-- | Expand paths of filters, searching the data directory.
7272expandFilterPath :: Filter -> PandocIO Filter