@@ -89,9 +89,12 @@ metaToJSON' blockWriter inlineWriter (Meta metamap) = do
89-- of the original JSON object itself, prior to addition of variables.
89-- of the original JSON object itself, prior to addition of variables.
90addVariablesToJSON :: WriterOptions -> Value -> Value
90addVariablesToJSON :: WriterOptions -> Value -> Value
91addVariablesToJSON opts metadata =
91addVariablesToJSON opts metadata =
92− foldl (\acc (x,y) -> resetField x y acc)
92+ foldl (\acc (x,y) -> setField x y acc)
93− (defField "meta-json" (toStringLazy $ encode metadata) metadata)
93+ (defField "meta-json" (toStringLazy $ encode metadata) (Object mempty))
94 (writerVariables opts)
94 (writerVariables opts)
95+ `combineMetadata` metadata
96+ where combineMetadata (Object o1) (Object o2) = Object $ H.union o1 o2
97+ combineMetadata x _ = x
96metaValueToJSON :: Monad m
99metaValueToJSON :: Monad m
97 => ([Block] -> m String)
100 => ([Block] -> m String)